background image
clari3D logo clari3D name

A cross platform CAD 3D viewer for Linux, Mac, Windows and Web [link]

Try it for free

All in beta-test

Dear users, we have upgraded our Web site and our softwares. This was a tremendous work!

This store is still in beta-test but it can be used. If you encounter any problems or if you have any questions, feel free to use our support form (click on the "support" button in the top toolbar), it is here for that!

If you have purchased a CaniVIZ license, you will receive an email with the activation code and the download link. If you have purchased a CaniVIZ Free license in the time it was not free of charge, you will be upgraded to Clari3D Light for free. We need to finish Clari3D Pro in order to generate the new licenses and send you the email...

The user accounts are strictely used to inform you about important things on your licenses and your softwares. We never communicate them or use them for spamming.

It is difficult for us to check if you have received the accoun activation email; it should be received a few minutes after the registration. If you have not received this email after your registration, please inform us with the support form.

Thank you.

Access and share your CAD 3D files

Open and review your CAD 3D files, share them with your prospects and customers and focus on your job. And do it all much faster than ever.

3D CAD formats that Clari3D Pro can open for free
Exportable 3D CAD file formats
Review and edit your 3D CAD files
Highlighting mode is nice to identify a 3D object from the hierarchy...
Tooltips help to identify the 3D objects
Send your CAD files by email or put them in your Web server
Share your CAD files: Clari3D is Free and International
Wonderful rendering with several lights
Fog can be added for a nice rendering
Volume shadows in action
Ideal solution for architecture
Compatibility with 3D CAD file formats
Compatibility

Clari3D opens numerous 3D CAD file formats, for free or with additional modules.  [info]

Review any 3D CAD model
Review

Open a 3D CAD file and review it immediatly with a simple user interface and take measures, changes the display settings of the model, export it in other formats.  [video]

Share

Send the native VIZ file (and so protected) everywhere as it is one of the smallest CAD file format, or send your model by email with ourembedded WebGL viewer.

Meet your prospects and customers with your 3D easier than ever.

Publish any 3D CAD file
Publish

Export any 3D CAD models on our J3D WebGL format and put it in your Web Sites for free (you can also export directly in HTML with the 3D data embedded)  [link]

A nice 3D viewer

windows: The accurate transparency rendering dispays transparent models perfectly. linux: The accurate transparency rendering dispays transparent models perfectly. osx: The accurate transparency rendering dispays transparent models perfectly.
The accurate transparency rendering dispays transparent models perfectly.
windows: 3D SpaceMouse® from 3DConnexion eases the 3D navigation in Clari3d. linux: 3D SpaceMouse® from 3DConnexion eases the 3D navigation in Clari3d. osx: 3D SpaceMouse® from 3DConnexion eases the 3D navigation in Clari3d.
3D SpaceMouse® from 3DConnexion eases the 3D navigation in Clari3d.
windows: Anaglyph gadget renders the scene for red-green glasses. linux: Anaglyph gadget renders the scene for red-green glasses. osx: Anaglyph gadget renders the scene for red-green glasses.
Anaglyph gadget renders the scene for red-green glasses.
windows: Annotations can be put freely or attached to the 3D model, with or without an image. linux: Annotations can be put freely or attached to the 3D model, with or without an image. osx: Annotations can be put freely or attached to the 3D model, with or without an image.
Annotations can be put freely or attached to the 3D model, with or without an image.
windows: Clari3d is particularly useful with cloud of points. linux: Clari3d is particularly useful with cloud of points. osx: Clari3d is particularly useful with cloud of points.
Clari3d is particularly useful with cloud of points.
windows: The print tool converts a 3D model in a 2D with Hidden Line Removal (HLR), and SVG, DXF, Postscript exports. linux: The print tool converts a 3D model in a 2D with Hidden Line Removal (HLR), and SVG, DXF, Postscript exports. osx: The print tool converts a 3D model in a 2D with Hidden Line Removal (HLR), and SVG, DXF, Postscript exports.
The print tool converts a 3D model in a 2D with Hidden Line Removal (HLR), and SVG, DXF, Postscript exports.
windows: Quote allow putting measures in the 3D model. linux: Quote allow putting measures in the 3D model. osx: Quote allow putting measures in the 3D model.
Quote allow putting measures in the 3D model.
windows: Clari3d now has full volume shadows (in addition to the bitmap shadows). linux: Clari3d now has full volume shadows (in addition to the bitmap shadows). osx: Clari3d now has full volume shadows (in addition to the bitmap shadows).
Clari3d now has full volume shadows (in addition to the bitmap shadows).
windows: The Spot tool eases the point of view selection in two clicks. linux: The Spot tool eases the point of view selection in two clicks. osx: The Spot tool eases the point of view selection in two clicks.
The Spot tool eases the point of view selection in two clicks.
windows: Clari3d is designed to open very wide 3D model. This one has 4 million facets. linux: Clari3d is designed to open very wide 3D model. This one has 4 million facets. osx: Clari3d is designed to open very wide 3D model. This one has 4 million facets.
Clari3d is designed to open very wide 3D model. This one has 4 million facets.

Clari3D is a viewer for 3D files from architecture or mechanical CAD. It exists in the Free, Light and Pro versions for Linux, Mac and Windows in order to meet the needs of our customers.

3D Connexion Space Mouse
3DConnexion SpaceMouse®

It is designed for non-specialist users and its user interface is simple and intuitive. Immediatly, you can review your model, annotate it and change the rendering settings.

Clari3D softwares are compatible with 3D Connection Space Mouses® in order to make 3D navigation much more easier than before.

You can send a VIZ file to your customers; they are able to open it with Clari3D Free that is not charged. The VIZ file format is one of the most compact in the market.

You can exchange in an even more simple way, sending a 3D model directly by email.

more information...

Clari3D generates an email with an attached HTML page that embeds the 3D model and a link to our WebGL 3D viewer. The file can be dislayed immediately everywhere without the need to install any additional software as it uses only Javascript (plugin free). Clicking in the attached document in the email will open the Web browser and will display the 3D model.

The 3D data are embedded in the HTML file and so, there is no access to any server in order to fetch them (the only thing that is obtained from Internet is our JavaScript viewer, in order to have always the last version). Your data stay strictely confidential and are not put in any server.

Clari3D gives you also the possibility to save a 3D CAD model in HTML. This HTML code can be put in your Website, for free, allowing your visitors to view it.

In order to have more control, you can also save the model in our J3D format for our Web viewer and design the Web page as you want. And this is free of charge!

Writting your custom HTML page is no more complicated than:

<script type="text/javascript"
         src="https://www.clari3D.com/js/clari3D.js/clari3D.min.js">

<div
  class="clari3D"
  axis="yes"  base="yes" gui="yes" level="expert"
  background="yes" tree_wrap="true"
  themes="gray opacity rounded shadow"
  src="assets/webgl/model-1.j3d">
</div>

With its powerful 3D render engine, OpenGL based, Clari3D is able to display huge 3D models in common desktop workstations. In addition, it has real-time rendering optimizations such as Level Of Details (LOD), Rendering Degradation, Details Removal that speed up the rendering during the user interactions.

more information...

We have designed Clari3D especially for wide 3D models: Level Of Details, Progressive Scene Degradation, Projective Scene Simplifications are algorithms that drammatically decrease rendering time, in real time.

Clari3D is very optimized in term of memory footprint; it uses for this purpose a custom 3D data structure and a custom renderer developed for years.

In addition, when this is possible, some user interactions are in fact performed in 2D, over the 3D model. This is the case in the quotation tool.

Thus, we have been able to display a 20 million polygons model in a 2006 Macbook with a basic Intel® GMA graphic card!

Clari3D 3D viewer on Mac

Clari3D in MacOS.

Clari3D works on MacOs from the Lion version to nowadays.

Clari3D is available in the Apple Store
Clari3D 3D viewer on Windows

Clari3D in Windows.

Clari3D works from Microsoft Windows Vista to the current version.

It is a compatible Windows 10 Desktop Application.

Windows 10 Compatible
Clari3D 3D viewer on Linux

Clari3D in Linux.

Clari3D is developed with Linux Ubuntu®, its native Linux platform. However, it can be installed in RedHat Linux, Fedora Linux, CentOS and some other distributions as a Snap or and AppImage packages.

Clari3D works on Linux, Mac and Windows using the native SDK. You can work with all your customers and be confident that they are able to see your files!

more information...

Clari3D, is designed with a custom toolkit API that is platform neutral. All the modules speak with this API and so, are platform-neutral. There is of course one module that is deeply platform-dependant, the TK module.

In addition, Clari3D uses a GUI description (such as an XML description) and each module sends its description to the TK module. This facilitates porting and independance.

If you have plenty of files to convert, Clari3D is associated to a server tool Clari3D Server that is a command line utility for file servers or Web server.

more information

Clari3D Server is a kind of GUI less Clari3D: it is made with the same source code, shares the same libraries and configuration options, but it operates from its command line.

Clari3D Server can be used in Web servers to convert CAD files in VIZ or J3D as soon as they are requested for display. It can also be used in batch mode in order to pre-convert parts of CAD objects that are assembled with the VAS (VIZ Assembly) file format on request. Emerson-Leroy Somer online configurator works with Clari3D Server both in batch mode and in real time.

Functionalities

Explore your models
windows: The tree-view shows the complete hierarchy of the model. linux: The tree-view shows the complete hierarchy of the model. osx: The tree-view shows the complete hierarchy of the model.
The tree-view shows the complete hierarchy of the model.
windows: The hilighting mode shows the object selected in the tree-view. linux: The hilighting mode shows the object selected in the tree-view. osx: The hilighting mode shows the object selected in the tree-view.
The hilighting mode shows the object selected in the tree-view.
windows: The other objects are displayed in xrays or with outlines. linux: The other objects are displayed in xrays or with outlines. osx: The other objects are displayed in xrays or with outlines.
The other objects are displayed in xrays or with outlines.
windows: Object can be simply show or hidden with their check box in the tree view. linux: Object can be simply show or hidden with their check box in the tree view. osx: Object can be simply show or hidden with their check box in the tree view.
Object can be simply show or hidden with their check box in the tree view.

Explore your models

Clari3D has advanced tools to help you to explore your 3D models.

The tree-view shows the structure of the 3D files with the parts. Parts can be shown or hidden with their check-boxes. The Pro and Light versions allow to edit the rendering attributes (color, transparency, rendering mode, ...).

The hilighting mode in the Pro version makes the relation between the displayed objects and the part list by clicking either on the 3D objects or on the part names in the tree-view.

The hilighted part is displayed normally while the other parts are either hidden, displayed transparently or with their outlines.

The picking mode allows to identify an object in the 3D scene and to select its tree-view entry when clicked.

Send 3D by email!
windows: Open just the 'File/send by email' menu and you are ready! linux: Open just the 'File/send by email' menu and you are ready! osx: Open just the 'File/send by email' menu and you are ready!
Open just the 'File/send by email' menu and you are ready!
windows: Configure your email, press 'Send' at that's all! linux: Configure your email, press 'Send' at that's all! osx: Configure your email, press 'Send' at that's all!
Configure your email, press 'Send' at that's all!

Send 3D by email!

Send a 3D file in one click, with the 'File/send by email'

The email contains a HTLM file as attachment with all the 3D data inside. The JavaScript clari3d.js viewer is fetched from our Website on request, so your data are not in the Cloud, only in the mail box of the receivers.

In addition, the access to the files can be protected by a password.

And even more: you can export any model in HTML in order to put it in your Web server, for free. For more customisation, the J3D can be saved in order to let you customize the way you instanciate our viewer in your Website...

And this is included in Clari3D Free, for free!

Select your point of view
windows: Select the Spot button in the toolbar. This displays a circle that represents the viewing area... linux: Select the Spot button in the toolbar. This displays a circle that represents the viewing area... osx: Select the Spot button in the toolbar. This displays a circle that represents the viewing area...
Select the Spot button in the toolbar. This displays a circle that represents the viewing area...
windows: Click to select the rotation center and drag the border of selection area. linux: Click to select the rotation center and drag the border of selection area. osx: Click to select the rotation center and drag the border of selection area.
Click to select the rotation center and drag the border of selection area.
windows: Double click and the point of view is changed as you want! linux: Double click and the point of view is changed as you want! osx: Double click and the point of view is changed as you want!
Double click and the point of view is changed as you want!

Select your point of view

A difficult action in 3D is to "go somewhere" in the model.

Clari3D offers several great tools for that, and the simpler is the Spot tool.

To select a new point of view:

  • select the tool in the toolbar,

  • move the mouse on the model; the target point is a small dot in red over the object under the mouse and it will become the target of the point of view and the center of rotation,

  • click to validate the target dot and enter in the viewing area selection,

  • double click to validate the viewing area and the point of view is now as you expected.
Quote your model in a one click!
windows: Distances are taken between two snapped vertices. linux: Distances are taken between two snapped vertices. osx: Distances are taken between two snapped vertices.
Distances are taken between two snapped vertices.
windows: The bounding box of the whole scene or of some objects. linux: The bounding box of the whole scene or of some objects. osx: The bounding box of the whole scene or of some objects.
The bounding box of the whole scene or of some objects.
windows: The arc between three spnapped vertices. linux: The arc between three spnapped vertices. osx: The arc between three spnapped vertices.
The arc between three spnapped vertices.

Quote your model in a one click!

The Quote tool in Clari3D takes measures on a 3D model.

The following quotes are available:

  • distance between vertices,

  • angle between 3 vertices,

  • circle between 3 vertices,

  • bounding boxe of the whole model or of selected objects.

Quotes are put insde the 3D model.

Per object rendering options
windows: Hierarchitical options can be applied to any objects, such as color or rendering mode. linux: Hierarchitical options can be applied to any objects, such as color or rendering mode. osx: Hierarchitical options can be applied to any objects, such as color or rendering mode.
Hierarchitical options can be applied to any objects, such as color or rendering mode.
windows: The marerials associated to an object is also editable. linux: The marerials associated to an object is also editable. osx: The marerials associated to an object is also editable.
The marerials associated to an object is also editable.

Per object rendering options

Clari3D allows to set per objects the rendering settings such as Wire-frame or Solid, color, opacity, etc.

In addition, the light can be customized as you want in order to obtain a semi-realistic view. Shadows and Fog can be used to improve look.

Cutting as you want
windows: Uncutted model, with probably a lot of things inside. linux: Uncutted model, with probably a lot of things inside. osx: Uncutted model, with probably a lot of things inside.
Uncutted model, with probably a lot of things inside.
windows: The cut plane shows inside the model. linux: The cut plane shows inside the model. osx: The cut plane shows inside the model.
The cut plane shows inside the model.
windows: The cut plan can be freely rotated and translated. linux: The cut plan can be freely rotated and translated. osx: The cut plan can be freely rotated and translated.
The cut plan can be freely rotated and translated.

Cutting as you want

The cut plane is an interactive 3D object that allows to cut the current model.

It has handles on its corners that can be either clicked or dragged. On click, the cut plane is rotated by 90°. On drag, the cut plan is freely rotated, following the movements of the mouse.

In the middle of the cut plan, a handle translatee the model on its axis, moving the plan.

Change the light

Change the light

Sun light

The first immediate way to change the light position is to drag the little sun in the logo, at the bottom-right corner of the view.

If the mouse is over the logo, the arrow keys can be used to change the light position as well.

In the Scene module, the light colors can be set individually, such as the ambient color, the diffuse color, etc.

If the light is 'fixed', it is attached in the scene. It is attached to the camera otherwise, meaning that it follows the point-of-view.

Light settings

In the Pro version, the Light module can manage up to 8 lights.

Each light can be a sun (infinite light) or a spot. Spots can be put anywhere in the scene, providing nice effects.

Export your model in 2D
windows: Export a 3D model in vectorial 2D formats. linux: Export a 3D model in vectorial 2D formats. osx: Export a 3D model in vectorial 2D formats.
Export a 3D model in vectorial 2D formats.
windows: Generate a true 2D vectorial document with optional hidden lines for documentation. linux: Generate a true 2D vectorial document with optional hidden lines for documentation. osx: Generate a true 2D vectorial document with optional hidden lines for documentation.
Generate a true 2D vectorial document with optional hidden lines for documentation.
windows: SVG output. linux: SVG output. osx: SVG output.
SVG output.

Export your model in 2D

Sometime, it is needed to put a 3D model in a documentation. Usually, a screen copy of the rendered outlined model is inserted.

However it should be nicer to insert a vectorial image rather than a bitmap in order to be resolution independent.

Clari3D Pro transforms any 3D model into a full 2D vectorial image with hidden lines written as dashed lines.

The supported output formats are SVG, DXF, Postscript that are full 2D vectorial formats or JPEG...

Explore the interior of the model
windows: Explore the interior in outline mode. linux: Explore the interior in outline mode. osx: Explore the interior in outline mode.
Explore the interior in outline mode.
windows: Explore the interior with the cutplan. linux: Explore the interior with the cutplan. osx: Explore the interior with the cutplan.
Explore the interior with the cutplan.
windows: Explore the interior with the inteligent cutplan. linux: Explore the interior with the inteligent cutplan. osx: Explore the interior with the inteligent cutplan.
Explore the interior with the inteligent cutplan.

Explore the interior of the model

The skin tool is a window that displays the hidden parts of a model.

Several modes can be used:

  • wire-frame: display the window interior in wireframe,

  • outline: display the outlines,

  • solid, outline solid: display the interior as solid; it is useful if the exterior of the window is displayed in wire-frame, for example,

  • cutplan: make a hole in the window; the depth of the hole can be tunned with the scroll-bar,

  • skin: remove the skin of the objects as an onion

Preview 3D: file icons are 3D previews

Preview 3D is a standalone application and a software component integrated in the Operating System; it allows to obtain thumbnail previews from the 3D files.

Preview 3D in Finder Preview 3D in Windows Explorer Preview 3D replaces the the 3D file icons by a preview of their contents.

The previews are displayed in place of the file icon in the file manager, Finder® on Mac, Explorer® on Windows®. Some other applications can take advantage of Clari3D previewing, such as Mail in Mac.

Preview 3D is able to extract a preview image from the files that does not have one, such as STL files that are in pure ASCII. For this purpose, Preview 3D has its own 3D renderer.

It can be use in mechanic, architecture, engineering or communication.

Supported CAD file formats

CAD file format

File extension

Embeded

Computed

3D Studio

3ds

x

3MF Consortium

3mf

x

x

Ascii Scan

asc pts

x

AutoCAD DWG

dwg

x

Clari3D

viz

x

x

Dassault System 3DXML

3dxml

x

Dassault System Catia V5

CATProduct CATPart

x

Trimble Sketchup

skp

x

IGES

igs iges

x

Step

stp step

x

Stereo Litographics

stl

x

WaveFront

obj

x

XGL

xgl

x

In the table, embeded means that the file format has a previewing image inside and computed means that Clari3D Preview is able to compute the preview by itself. For some file formats such as 3MF Consortium, if the file does not have a preview inside, Clari3D will compute it.

The standalone application allows to preview several files by drag & drop and to switch between them with arrows. In addition, textures are opened.

Limitations

This is not a 3D viewer: do not expect to interactively review a 3D file with it.

For the files with preview images inside, this image is used as is with the accuracy it has.

For the files that can be rendered, MacOSX and Windows both forbid the previewing components to open other files; therefore, the textures associated to the 3D files cannot be opened.

In addition, the software component limits itself its computation time and its memory use; this way, a rendering can be interrupted before the preview image extraction in order to preserve the system resources.

clari3d.js, the 3D viewer for your Web Site

clari3d.js is the Web version of the desktop 3D viewer with simplified functionalities. It uses JavaScript, so no plug-in is needed and it works with all modern Web browsers on any operating system, even on mobile devices.

In Clari3D for Desktops, you can get a Web page with your 3D model embeded inside with the menu 'File/Save as' and choose the HTML output format. In the same way, it is possible to obtain directly the J3D file that is the file read by our Web viewer.

With it, you can put any CAD model in the Web in a couple of seconds.

It is hightly configurable (background or not, user interface or not, etc), so you can adapt the look and feel to your requirements.

Clari3D Server is able to convert numerous CAD files into HTML or J3D, in batch mode. In addition, Clari3D Server can sign the generated files, and this signature is displayed in the viewer. It is the prefered way to industrialize the J3D generation. Three converter licenses are available, for 1000, 5000 or an unlimited number of conversions per month.

You can see several samples in the sides of this parts by clicking on the arrows on the left or the right of this part:

  • The first sample shows a simple model, without user interface,
  • The second model shows a actual CAD model, with the user interface,
  • The third model is a 3D scan result with texture.
Warning logo

Your browser seems to does not have WebGL (either because WebGL is disabled or because it is missing).

WebGL viewer are replaced by images in this slideshow...

Clari3D.js 3D Webgl viewer
Clari3D.js 3D Webgl viewer
Clari3D.js 3D Webgl viewer

Get Clari3D

free

Clari3D Free

linuxosxwindows
Version: 2.0.0.161123
CAD viewer

This is the free edition of Clari3D that offers the tools for quick review of your 3D CAD files.

Clari3D Free allows easy review and file manipulation. Objects can be shown or hidden.

It can opens WaveFront OBJ, STL, 3MF, Ascii Point Cloud ASC and PTS, XGL files and 3DStudio 3DS files.

55.99

Clari3D Light

linuxosxwindows
Version: 2.0.1.170201
CAD viewer

Clari3D Light is the perfect companion of a 3D designers and reviewers.

Clari3D Light allows easy review and file manipulation. Objects can be shown or hidden and their display settings can be adjusted.

It includes CAD tools such as the cutplan.

It can opens WaveFront OBJ, STL, 3MF, Ascii Point Cloud ASC and PTS, XGL files and 3DStudio 3DS files.

145.99

Clari3D Pro

linuxosxwindows
Version: 2.0.1.170128
CAD viewer

Clari3D Pro is our 'all-included' 3D viewer! It includes all the modules and functionalities described here.

Clari3D is a versatile 3D viewer that can be extended with third party software components such as the 3D CAD files readers.

It allows to fully review and change 3D files and rendering aspects.

The Pro version can opens WaveFront OBJ, STL, 3MF, Ascii Point Cloud ASC and PTS, XGL files, 3DStudio 3DS files, Step and IGES files for free.

free

IGES

osxwindows
CAD reader

IGES reader ≥ 5.3

  • extensions: .igs, .iges
free

Step

osxwindows
CAD reader

Step AP20 and AP214

  • extensions: .step, .stp
free

Trimble Sketchup

osxwindows
CAD reader

Trimble Sketchup

  • extensions: .skp
399

ACIS

osxwindows
CAD reader

Supports all ACIS versions until 21 for the .asat and .sat files.

399

CADDS

osxwindows
CAD reader

Cadds 3D explicit and parametric files.

  • Cadds 4X to 5.12
  • extension: ._pd
399

Catia V4

osxwindows
CAD reader

Catia V4 reader from 4.15 to 4.24.

  • extension: .model, .dlv, .session
399

Catia V5

osxwindows
CAD reader

Catia V5 reader from CatiaV5 R7 (See Mapping for advanced features) to R23 (also called V5-6R2013).

  • extensions: .CATPart, .CATShape, .CATProduct, CATDrawing.
399

Catia V6

osxwindows
CAD reader

Catia V6 reader from R2010x to R2013.

  • extensions: .3dxml
399

Cercon

osxwindows
CAD reader

Cercon 2.0 (Dentply) dental files

  • extensions: .art
399

Cerec

osxwindows
CAD reader

Cerec (Sirona) dental files

  • extensions: .sdt
399

CGR

osxwindows
CAD reader

CGR files from R10 version to R23 (also called V5-6R2013)

  • extensions: .cgr
399

DCM

osxwindows
CAD reader

DCM (3Shape) dental filesV5-6R2013)

  • extensions: .dcm
399

Inventor

osxwindows
CAD reader

Inventor from version 9 to 2014

  • Assembly and Part: .iam .ipt
  • Pattern assembly components
  • iAssembly and MetaData
399

JT

osxwindows
CAD reader

Reads Tesselated JT 3D files, and B-REP version ≥ 9.5

  • extensions: .jt
399

Parasolid

osxwindows
CAD reader

Parasolid version v7 to v25

  • extensions: .xmt, .xt, .xb
399

PLM/XML

osxwindows
CAD reader

Siemens Pml/Xml

  • extensions: .plmxml
399

ProCERA

osxwindows
CAD reader

ProCERA Dental files

  • extensions: .c3s
399

Pro/E

osxwindows
CAD reader

Pro/E reader from version 2000i to Creo Parametric 2.0

  • extensions: .prt, .asm, .prt., .asm., .xar, .xpr
399

SolidEdge

osxwindows
CAD reader

SolidEdge reader version ≤ST5

  • extensions: .par, .asm, .psm, .pwd
399

Solidworks

osxwindows
CAD reader

SolidWorks reader version 1999 to 2013

  • extensions: .sldprt, .sldasm
399

Unigraphics

osxwindows
CAD reader

Unigraphics from version v10 to NX85

  • extensions: .prt
399

VDA

osxwindows
CAD reader

VDA FS 3D files

  • extensions: .vda
599

Catia Bundle

osxwindows
CAD reader

Include Catia reader version V4, V5 and V6.

1800

All CAD Bundle

osxwindows
CAD reader

Cadds (Windows), Catia, Cercon, Cerec (Linux, Windows), CGR, DCM (Linux, Windows), Inventor, JT, Parasolid, ProCera, ProE, Solidedge, Solidworks, Unigraphics, VDA.

7599

Clari3D Server

linuxosxwindows
Version: 2.0.1.170115
Server tool

Clari3D server is the conversion tool designed for the servers such as Web servers. It operates in real time or in batch mode.

Clari3D Server is a server side converter that converts 3D CAD files into our native VIZ file format or in WaveFront OBJ, STL, J3D for our Web 3D viewer clari3d.js or HTML with embedded 3D data.

Clari3D Server can also assemble several heterogeneous files into a single VIZ using its VIZ Assembly file format.

free

IGES

osxwindows
CAD reader

IGES reader ≥ 5.3

  • extensions: .igs, .iges
free

Step

osxwindows
CAD reader

Step AP20 and AP214

  • extensions: .step, .stp
free

Trimble Sketchup

osxwindows
CAD reader

Trimble Sketchup

  • extensions: .skp
399

ACIS

osxwindows
CAD reader

Supports all ACIS versions until 21 for the .asat and .sat files.

399

CADDS

osxwindows
CAD reader

Cadds 3D explicit and parametric files.

  • Cadds 4X to 5.12
  • extension: ._pd
399

Catia V4

osxwindows
CAD reader

Catia V4 reader from 4.15 to 4.24.

  • extension: .model, .dlv, .session
399

Catia V5

osxwindows
CAD reader

Catia V5 reader from CatiaV5 R7 (See Mapping for advanced features) to R23 (also called V5-6R2013).

  • extensions: .CATPart, .CATShape, .CATProduct, CATDrawing.
399

Catia V6

osxwindows
CAD reader

Catia V6 reader from R2010x to R2013.

  • extensions: .3dxml
399

Cercon

osxwindows
CAD reader

Cercon 2.0 (Dentply) dental files

  • extensions: .art
399

Cerec

osxwindows
CAD reader

Cerec (Sirona) dental files

  • extensions: .sdt
399

CGR

osxwindows
CAD reader

CGR files from R10 version to R23 (also called V5-6R2013)

  • extensions: .cgr
399

DCM

osxwindows
CAD reader

DCM (3Shape) dental filesV5-6R2013)

  • extensions: .dcm
399

Inventor

osxwindows
CAD reader

Inventor from version 9 to 2014

  • Assembly and Part: .iam .ipt
  • Pattern assembly components
  • iAssembly and MetaData
399

JT

osxwindows
CAD reader

Reads Tesselated JT 3D files, and B-REP version ≥ 9.5

  • extensions: .jt
399

Parasolid

osxwindows
CAD reader

Parasolid version v7 to v25

  • extensions: .xmt, .xt, .xb
399

PLM/XML

osxwindows
CAD reader

Siemens Pml/Xml

  • extensions: .plmxml
399

ProCERA

osxwindows
CAD reader

ProCERA Dental files

  • extensions: .c3s
399

Pro/E

osxwindows
CAD reader

Pro/E reader from version 2000i to Creo Parametric 2.0

  • extensions: .prt, .asm, .prt., .asm., .xar, .xpr
399

SolidEdge

osxwindows
CAD reader

SolidEdge reader version ≤ST5

  • extensions: .par, .asm, .psm, .pwd
399

Solidworks

osxwindows
CAD reader

SolidWorks reader version 1999 to 2013

  • extensions: .sldprt, .sldasm
399

Unigraphics

osxwindows
CAD reader

Unigraphics from version v10 to NX85

  • extensions: .prt
399

VDA

osxwindows
CAD reader

VDA FS 3D files

  • extensions: .vda
599

Catia Bundle

osxwindows
CAD reader

Include Catia reader version V4, V5 and V6.

1800

All CAD Bundle

osxwindows
CAD reader

Cadds (Windows), Catia, Cercon, Cerec (Linux, Windows), CGR, DCM (Linux, Windows), Inventor, JT, Parasolid, ProCera, ProE, Solidedge, Solidworks, Unigraphics, VDA.

7500

Flatener

osxwindows
Version: 2.0.1.170115
CAD exporter

Export a 3D file in flat vertorized DXF with form reconstruction (circles, arcs, lines).

4000

License server

osxwindows
Version: 2.0.1.170115
CAD exporter

License server 10 simultaneous uses of all the products for one year.

This tools allows to use 10 Clari3D products simultaneously in the same network, including all the CAD viewers and readers.

This a one year subscription.

2500

Web export 1

linuxosxwindows
CAD exporter

Web exporter level 1, up to 1000 conversions per month.

Generates up to 1000 J3D or HTML files for clari3d.js with your own signature.

10000

Web export 2

linuxosxwindows
CAD exporter

Web exporter level 2, up to 5000 conversions per month.

Generates up to 5000 J3D or HTML files for clari3d.js with your own signature.

50000

Web export 3

linuxosxwindows
CAD exporter

Web exporter level 3, unlimited number of conversions per month.

Generates an unlimited number J3D or HTML files for clari3d.js with your own signature.

55.99

Preview 3D

osxwindows
Version: 2.0.0.161119
System tool

Preview 3D replaces the icon of the supported 3D files by a preview of their contents in your file explorer.

Preview 3D either gets the preview image stored in the file (such as DWG CAD files) or renders the 3D scene with a custom pur software 3D renderer.

It is a software component that is integrated in your system during the installation.

This way, you can see a preview of the CAD files in your explorer, Explorer in Windows or Finder in MacOS.

Preview 3D reconizes 3D Studio, STL, XGL, WaveFront, ASCII points clouds, Step / IGES, AutoCad® DWG™, Trimble Sketchup® or Dassault System 3DXml®, CATPart® or CATProduct®, 3MF Consortium, XGL.

In addition, there is the standalone application that allows to preview several files by drag & drop.

Notice that this is not a 3D viewer; it is not interactive and for some file formats (ie DWG) it uses the preview image stored in the file, with the quality it has.

Windows Version

Windows 10 Compatible Clari3D Free / Light / Preview / Pro is supported by Andéor, SAS on the following editions of Windows 10 – Windows 10 Pro, Windows 10 Education, and Windows 10 Enterprise. Clari3D Free / Light / Preview / Pro is supported on the in-market supported Windows 10 Current Branch for Business (CBB) servicing branches only and will be supported for the lifetime of the app until 01/2027.

Clari3D is available in the Apple Store

Apple Version

Clari3D softwares can be obtained from either the Apple Store or from this store.

Apple Store

Softwares gotten from the Apple Store have the befefit to be validated by the Apple engineers.

In adidtion, one licence can be installed to up to three systems, for the same user; for exemple, a desktop computer and a laptop.

The softwares are executed in a secured layer called Sandbox. In the sandbox, softwares have a limited access to the data in the computer. This is why, for exemple, Clari3D is unable to open textures associated to a 3D file.

Our Store

We have aligned the number of installations per license to three, as in the Apple Store.

The softwares share completely their source code with the Apple Store versions, so they can be considered as validated as well...

The extensions come with separated setup programs, so the main application is smaller than the Apple Store version that must include all the software components, even if they are separated extensions...

The price is a little bit lower than in the Apple Store.

Clari3D Free

If you can, please prefer Clari3D Light rather that the Free version or buy Clari3D Preview. This gives us the oportunity to plan further developments and improvements on our softwares.

Update policy

Generally, sofwares are updated every year. Customers can obtain the new version with an important rebate, generally 30%.

This is not our policy: when you buy our softwares, you can be confident to be updated for years, for free. Of course, at a time, there will be charged updates, but this is not yet planed as since 2010,

We plan to merge Clari3D Free, Light and Pro in one product with InApp purchases; Clari3D Light and Clari3D Pro owners will be updated for free with the equivallent features.

Features

Free

Light

Pro

Free 3D imports  [info]

x

x

x

Move in the scene

x

x

x

Display the object hierarchy

x

x

x

Show room

x

x

x

Display point of views, annotations and animations

x

x

x

Export HTML that can be view with the Clari3D Web viewer

x

x

x

Send a model by email and export in J3D for clari3d.js [link]

x

x

x

Shadows projected onto the base

x

x

x

Volume and realistic shadows

x

x

Cut plan

x

x

3D quotes

x

x

Edit the object's display properties

x

x

Fly mode with optional constant altitude and anti-collision

x

x

Skin (see inside the objects)

x

x

Export in STL, OBJ, DXF, PovRAY

x

Free Step and IGES reader

x

Pro CAD import  [info]

x

Cutplan slice

x

2D vectorial print, with optional Postscript, DXF, SVG or JPEG export

x

3D cubic environment

x

Advanced transparent object display

x

Points of view, annotations and animations creation

x

System requirements

  • Mac: OS X 10.10
  • Windows: 7 to 10
  • Linux: Ubuntu, Redhat
  • Web Browser: support HTML5

Resources

  • RAM: at least 600MB
  • Video: Hardware OpenGL accelerator, 64MB min
  • Storage: 30MB (Pro)

Languages

  • Deutsch, English, Español, Français, 日本語, Italiano, 简体中文

  1. Free 3D imports are available in all the Clari3D line for free. It is regularly extended as soon as we write a new library.

  2. Pro CAD imports are optional modules for Clari3D Pro and Clari3D Server with a price. They are not free because they are third party components that are subject to royalties.

What's next?

Clari3D is a long term project... Its development was initialy planed in three phases:

A 3D modeller for Clari3D

Development phases

  1. A nice 3D viewer: allows to review any 3D CAD file in any platforms; this includes animation, slides and some other CAD tools,

  2. Sharing 3D: allows to send and receive 3D files in a protected way; this leads the design of the Web plug-ins, and more recently the WegGL 3D view clari3d.js,

  3. Modelling 3D: allows to create and modify a 3D model.

The futur

Clari3D has now reached the sedond phases. Now our developments are:

  1. Clari3D will be able to triangulate soon! We are finishing a promised point cloud to triangles algoritm that will allow to open a point cloud file and to transform it transparently in a full 3D textured model.

  2. We would like now to include a ray-tracer, GPU optimized, with the capability to generate photo-realistic images and video of animations (this feature was not in our initial plans).

    This ray-tracer will focuses on light mapping, allowing to analysis the light received in some parts of the model with acurate light descriptions.

  3. We have started the last step, the more ambitious one: create a 3D modeller. As Clari3D is designed to be a viewer, its internal data structures are very optimized; transforming them for modelling is a great challenge but we beleive to obtain a very efficient modeller with low memory needs.

    You will see in the next releases some functionalities comming from the modeller; probably, the first one will be the ability to move, rotate and scale any 3D objects... The next one will be probably the animation tool able to step the transformations on the objects in order to create complex animations.

Companies worldwide trust Clari3D

Airbus Alstom Emerson, Inc IDE+XAO, SA Leroy Somer

and +30000 anonymous customers among the world from the Stores who we want to thank a lot for their patience and their support!

Testimonials

Clari3D has now two killing functions, the ability to put my models online for free and the tool that convert them in SVG 2D.

Good luck for your new products

Robert R - Meca CAD - Germany

Hello,

I have downloaded the update and it works perfectly !

When i have time I will post on the forums to inform everyone.

Thanks a lot again !!

All the best to the team !

Patrick - Architecture - France

The Web plugin of Clari3D is remarkably stable for a so young software. It is nice to use, fast, and the integration in the Website of out customer is easy.

P.G - IGE+XAO

The Andéor, SAS company

Andéor is founded in France in 2010 after seven years in R&D.

The Andéor mission is to democratize the use of 3D by allowing everybody to access to any 3D contents everywhere, with any devices.

The Clari3D solutions are in the Apple Store®, the Linux Ubuntu Store®, the Windows Store® and Clari3D Store since 2012 with a frank success.

Andéor SAS

520 295 643 R.C.S. Nice - TVA intracommunautaire: FR92520295643

Sonora B - 71, avenue de la Lanterne - 06200. Nice, France.

www.clari3d.com

Support

Follow us in the social networks

[Twitter logo]

Twitter is used for daily support and informations.

[Facebook logo]

Facebook is used for daily support and informations.

[RSS logo]

RSS is used for daily support and informations.

[Youtube logo]

Youtube is used for daily support and informations.

[Email logo]

Send us an email.

Get the manual

The Clari3D manual can be viewed online with this link  [info].

Support request

You can ask us a question or leave us a message in our online form support by opening the detail bellow.

⇨ Form support...

Links of interest

Parts

Other products

Website compiler

  • This website is generated with our static Web site compiler HTGen.  [info]

Copyrights

© 2003–2017 Andeor, SAS
Apple, MacBook, the Apple logo, iPad, and iPhone are trademarks of Apple Inc., Windows is a trademark of Microsoft Inc. Ubuntu is a trademark of Canonical, SpaceMouse is a trademark of 3DConnexion, registered in the U.S. and other countries.

Norton Secured MacAFee Secured Green Website

3D CAD files formats supported by Clari3D

Name

Extension

Version

Free

Comment

3D Studio

3ds

3, 4

x

3D Consortium

3mf

x

ASCII cloud

asc, pts

x

Acis

asat, sat

≤ 21

Mac, Windows

CGR

cgr

R10 to R23

Mac, Windows

Cadds

_pd

4x to 5.12

Windows only

Clari3D

viz, vop, vas

1, 2, 3

x

Native format

Clari3D Web

j3d

1, 2, 3

x

Native Web format

Catia v4

model, dlv, session

=4.15 to 4.24

Mac, Windows

Catia v5

catpart, catshape, catproduct, catdrawing

R7 to R23

Mac, Windows

Catia v6

3dxml

R2010 to R2013

Mac, Windows

Cercon

art

all

Mac, Windows

Cerec

sdt

all

Windows only

DCM

dcm

all

Windows only

IGES

iges, igs

≤ 5.2

x

Free in Clari3D Pro

Inventor

iam, ipt

Inventor 9 to 2014

Mac, Windows

JT

jt

≤ 9.5

Mac, Windows

Lava3M

ccd

all

Mac, Windows

Parasolid

xmt, xt, xb

v7 to v25

Mac, Windows

Plmxml

plmxml

≥ 4

Mac, Windows

ProCera

c3s

all

Mac, Windows

ProE / Creo

prt, asm, xar, xpr

ProE 2000i to creo 2.0

Mac, Windows

STL

stl

all

x

Solidedge

par, asm, psm, pwd

≤ ST5

Mac, Windows

Solidworks

sldprt, sldasm

1999 to 2013

Mac, Windows

Step

stp, step

AP213, AP214, AP242

x

Free in Clari3D Pro

Unigraphics

prt

v10 to NX85

Mac, Windows

VDA

vda

all

Mac, Windows

Wavefront

obj

x

XGL

xgl

x

Important notice

The Free readers are included in all the products for free. They are free because they are either developped internally or they use free open-source libraries with ad'hoc license.

The non-free readers are purchaseable external modules available only for Clari3D Pro and Clari3D Server; they are not compatible with Clari3D Free and Clari3D Light. They are not free because they are subject to royalties that is almost our selling price.

Some readers are only available for specific host operating system; check this point before purchashing them.

News

Happy New Year!Mon, 2 Jan 2017, +0100

Happy new year everybody!

Our bag is not empty: Clari3D Free for Windows, Mac and Linux are available for download, and Clari3D Light and Preview are available for purchase!

Yes, our Web site and the new generation of softwares are now in place! This was a big effort that worth the investment because, now, everything can evolve more easily than ever.

Please be patient if you encouter some difficulties: our support form is here to help you at http://www.clari3d.com#support.

Best regards

-- Clari3D Team

Clari3D Free, Light and Preview 2.0.0 in the Apple StoreWed, 23 Nov 2016, +0100

Great day! Clari3D Free, Light and Preview 2.0.0 are just validated by Apple engineers and are available in the Apple Store as a free upgrade for existing customers!

First stage if finishedFri, 11 Nov 2016, +0100

The new Web site is now finished and is moved to the beta state. Deep reading and English corrections are in progress (If you find a spelling error, feel free to inform us, we will appreciate your help!).

We would like to thanks a lot the early users who have registrered their account! Thank so much you for your interest. Your work will not be lost: your account will not be deleted and you will notified when the softwares are available.

Users registered in caniviz.com will transfered automatically in clari3d.com and the new version of their softwares will be made available. You will receive an email with a new activation number for the new activation scheme and your download links...

The new Web site and the application remaing are in progress.Mon, 7 Nov 2016, +0100

Changing the name of several applications as well as the licencing scheme can be a tedious task, and it is! Every links to the old name must be removed, all the URL, documentations, comments need to be changed...

Clari3D Free is now finished and tested for Mac and Windows. We are currently woking on the renaming of the server tools...

-- Clari3D Team

The new web site is startedWed, 10 Aug 2016, +0200

The new Web site is started with an original design based on the last cutting edges technologies of the Web:

We have designed for this purpose a Website compiler that generates static Web pages.

In addition, we have renamed 'caniviz' as 'clari3d', with the new logo.

CaniVIZ.js integrationSat, 30 Jan 2016, +0100

We are finishing our WebGL CaniVIZ viewer integration: caniviz.js is a tremendous 3D viewer for the Web browsers.

From CaniVIZ Free, Light and Pro, everyone will able to save a file in either J3D (our custom 3D format for the Web) or directly in HTML with the J3D file embedded inside and put in in the Web (The caniviz.js functionalities however will depend on the used CaniVIZ generator).

In addition, we have added a nice feature in the 'File/Send by email' menu of CaniVIZ: in one click, the current file can be send by email to any receivers, either in VIZ our in HTML. With the HTML format, the receiver will be able to display the 3D file without the need of installing any software...

In the future, the sent files will be optionally 'managed' ; this means that they will be stored in our server, and any receiver will be able to annotate it; the annotations will be dynamically shared between all the receivers.

Windows activation correctedFri, 20 Nov 2015, +0100

Windows

The Windows version of the CaniVIZ suite has been update in out Store in order to correct a potential software activation problem that can occur in some systems, avoiding activation.

CaniVIZ now has beautiful shadows!Thu, 2 Apr 2015, +0200

Caniviz logo

CaniVIZ Pro 1.1.3 ans CaniVIZ Light now have true volume shadows for nice 3D rendering. CaniVIZ Free now has protected shadows onto the 3D base.

AutoCAD DXG/DWG reader for CaniVIZ Pro now free fo chargeThu, 2 Apr 2015, +0200

The AutoCAD DXF/DWG reader is now now free of charge. It can be "purchased" at a 0 cost from our store and Ubuntu Store, and it is a free of charge InApp purchase in the Apple App Store.

Enjoy!

CaniVIZ 3D Viewer 1.1.12 is releasedTue, 29 Jul 2014, +0200

CaniVIZ 3D Viewer

We are proud to announce that CaniVIZ 3D Viewer 1.1.12 is released and pushed in the Apple Store, the Linux Ubuntu Store and the CaniVIZ Store.

This release is available free of charges for our customers, as usual.

Ir fixes some minor features for all the OS and a big issue for Mac, in the user interface.

--

CaniVIZ Support

CaniVIZ 3D Preview for Mac now works with Sketchup filesSat, 12 Jul 2014, +0200

Preview

The last update of CaniVIZ 3D Preview 1.1.13 now works with Trimble Sketchup files, as a bug is now fixed! This is nice to have a preview in Finder. It just has been approved by Apple App Store reviewers.

Notice that the Windows version does not have this bug and works well to with Google Sketup files.

CaniVIZ online 3D workshop now at mydocs.meSat, 26 Apr 2014, +0200

We are proud to announce the new Web site at mydocs.me where you can create and use your 3D workshop in the cloud.

These workshops allow, for free, to store, share and display files, even 3D files. The 3D files can be converted in our 3D VIZ ultra-compact format online, for free too.

Texts, images, sounds, PDFs and 3D files can be viewer online. All the files are versionned.

CaniVIZ 3D Free is now... free of chargesSat, 19 Apr 2014, +0200

We are very happy to announce that we have made CaniVIZ 3D Free available for free in order to let more users use this exiting software.

It is available at the Apple Store, the Linux Ubuntu Store and the CaniVIZ Store.

CaniVIZ 3D Preview 1.1.13 for Mac releasedWed, 2 Apr 2014, +0200

Caniviz 3d Preview

A new version of CaniVIZ 3D Preview is submitted to the Apple Store today.

This release has the following changes:

CaniVIZ 3D Preview is a tool that replaces the 3D file icons by a thumbnail of their contents. What is nice with CaniVIZ Preview is that it allows to generate a preview for file formats that does not have a preview image inside, such as STL that is pure ASCII file.

CaniVIZ 3D Preview comes with a plug-in that is used by the system to generate the preview in the Finder or in other places where preview are allowed, and with an application that allows drag and drop.

CaniVIZ 3D preview handle the following formats: 3D Studio, STL, WaveFront, ASCII point cloud, Step / IGES, AutoCad® DWG™, Trimble Sketchup® or Dassault System 3DXml®, CATPart® and CATProducts®.

Notice that the rendered files are rendered without the textures due to the Apple QuickLook technology that is protected by a sandbox, and some wide files cannot be rendered due to time and resources limitations.

CaniVIZ 1.1.10 releasedThu, 13 Mar 2014, +0100

CaniVIZ 1.1.10 for Windows, Mac and Linux is released and available in the Apple Store, Ubuntu Store, and CaniVIZ Store as well as CaniVIZ 3D Preview for Windows and Mac.

This new version fixes some rare problem with binary STL files and the Pro version for Mac and Windows is now able to import many CAD files with optional modules:

in addition to the previous readers:

CaniVIZ now supports 3DConnexion Space mousesThu, 3 Oct 2013, +0200

Space Mouse

CaniVIZ Free, Light and Pro 1.1.7 are now in the Apple Sotre, Linux Ubuntu Store and CaniVIZ Store as a free update.

They now support 3D SpaceMouses from 3DConnexion® allowing to turn over the scene easily.

The Linux version has also been updated to correct an OpenGL error in 64 bits systems.

CAD readersFri, 26 Jul 2013, +0200

Our new CAD readers are in progress for all the platforms (Windows, Mac, Linux). They will read ACIS, CADDS, CATIA 4 to 6, CERCON, CEREC, CGR, DCM, Inventor, JT, ParaSolid, Siemens PLM/XML, ProCera, Pro/E, SolidEdges, SolidWorks, Unigraphics and VDA... Planned in August...

Step and IGES are readable for free in CaniVIZ Windows and Mac... For Linux, it is planned in August...

Spatial Interop and Andéor partership now endedTue, 4 Jun 2013, +0200

Dassault System Spatial Interop is our CAD file format readers (Step, IGES, CATIA, Pro/E, etc).

They have chosen to change their license in a way that is clearly unfriendly for startups and small business companies. This group only focus on money and profit without any consideration for investment in the future. This is very inglorious for this French company.

But finally, this an excellent news for our customers because we now have a second source CAD reader that is much more efficient (models are smaller and more beautiful), much more small (the binary libraries are about 30MB while Spatial Interop was +250MB!) and with a much more affordable price... In addition, the readers will be available for Windows, Mac and Linux!

We are working very hard to make available the new CAD readers.

CaniVIZ Pro 1.1.5 reads Step and IGES for freeTue, 4 Jun 2013, +0200

CaniVIZ Pro 1.1.5 now includes a Step and IGES reader for free.

CaniVIZ is now Windows 8 platform ready certifiedTue, 2 Apr 2013, +0200

CaniVIZ 3D solutions have obtained the Microsoft's Windows 8 platform ready certification.

CaniVIZ 1.1.4 Free & Light published to the Ubuntu storeFri, 15 Mar 2013, +0100

Linux Ubuntu

CaniVIZ Free & Light 1.1.4 for Linux are available on our Web site and at the Linux Ubuntu Store free of charge for the customers. They are compatible with the last official Ubuntu Linux 12.10 and previous.

In our Store, the Debian, Redhat and Slackware packages will be available.

HTGEN

the Website compiler and optimizer

Abstract

Websites generally use PHP or DOT.NET to handle the dynamic aspect of the user interaction.

Websites designers use these languages and frameworks to generate the Web pages dynamically, even if the page does not contain any dynamic element. This causes server overloads

We believe that Websites could be more cleanly implemented by separating the dynamic and the static parts.

We have implemented a tool, HTGEN, a Website compiler that solves the static aspects at compile time; the dynamic parts are handled by the used framework such as PHP.

HTGEN significantly reduces the server overloads by serving mostly static HTML pages; static pages are well cached in the network infrastructure. In addition, HTGEN transparently minifies the generated HTML, JS and CSS files. And HTGEN is able to handle Markdown simplified syntax to write Web pages...

© 2017, Andéor, SAS

Traditional Web design

Php include

Websites are often designed with PHP, directly or using a CMS that uses itself PHP. Parts of a Web page are included with the include instruction. This way, each time a page is requested by a client, PHP includes the parts, parses and executes them:

<html>
  <head>
  </head>
  <body>
    <\?php
      include 'header.php';
      include 'content.php';
      include 'footer.php';
    \?>
  </body>
</html>

Loading, parsing, analyzing, executing PHP code takes a few milliseconds. It is fast enough to be imperceptible by the end user. But as every page of the billion of Web pages in the world takes a few milliseconds on each rendering, billions of milliseconds are consumed for nothing.

The question is why to do dynamic inclusion while the page is always the same?

Database server

Generally, a Website is associated to a database server. On the Internet, the commonly used database server is MySQL.

SQL database servers are really cutting edge softwares that listen their input port for requests, analyze them, fetch the data from the storage and format the result. The queries are written in SQL language that is a old fashioned but powerful language that allows really complex queries. These servers are very well optimized, using query optimization, caching, etc.

These servers can store billions of records and access them very quickly with smart and efficient indexing algorithms. They are fault tolerant, meaning that all the changes in the storage are transactional: they are committed of canceled. In addition, they allow replication of the data.

A CMS generally stores its contents in a MySQL server. Each parts of a document is stored in some tables and retrieved on rendering.

The question stays why to store content in a database while the content change generally slowly?

There is a movement in the Internet called NoDB Website design that preaches the database server removal: the data are stored in the Web server file system. Notice that this is possible for small amount of data and database server cannot be avoided for millions of records...

HTML syntax

HTML is a relatively simple language. It is easy to write directly a Web page in HTML. However, this could become tedious for long pages.

<html>
  <head>
  </head>
  <body>
   <h1>Main title</h1>
   <p>This a paragraph</p>
   <p>And here, a new <strong>paragraph</strong></p>
   <ul>
    <li>And here, an item</li>
    <li>Followed by another item</li>
   </ul>
  </body>
</html>

This is why CMS are very useful: they have generally an online formatted text editor allowing to change the text online. The generated HTLM code, however, can be far from optimized...

Formatting tables can be tedious in HTML:

<html>
  <head>
  </head>
  <body>
   <h1>Table exemple</h1>
   <table>
    <tr>
     <th>head 1</th>
     <th>head 2</th>
    </tr>
    <tr>
     <td>text 11</td>
     <td>text 12</td>
    </tr>
    <tr>
     <td>text 21</td>
     <td>text 22</td>
    </tr>
    <tr>
     <td>text 31</td>
     <td>text 32</td>
    </tr>
   </table>
  </body>
</html>

The pains

Common Website design suffers for several pains:

Our Web design

This Website is designed taking account the pains: it uses static compiled pages, NoDB storage, Ajax and a MVC controller.

PHP is still used for the dynamic parts of the Web pages, such as the user login management and it is used in conjunction with Ajax to updated only some parts of the main page.

Static Website compiler htgen

We have developed a tool to compile Websites. Of course, there is several Website generators, but they have generally a strong impact on the site organization; HTGEN is versatile and do not impose any structure of the Websites.

Scheme

HTGEN is written in Scheme, a Lisp dialect. Scheme expressions can be included inside the HTML pages with the special tags <?scm ... ?>.

The embedded Scheme code is executed during the Website generation; in the generated Web pages, there is no trace of the Scheme code.

One of the great command is @include "file": it includes the content of the file in place of the include command. Of course, includes can be nested.

The other great command is @files "search" that returns the list of the matching files. With this command, it is possible to obtain the list of some file and to process them.

Our index.html file is no more complicated than:

<;\?scm
 (@set! 'top-page "_top.html")
 (@set! 'title "Home page of Clari3D")
 (@set! 'description "Clari3D is a nice 3D viewer");
 (@set! 'keywords "andéor, 3D, viewer, cad, step, stl, obj, wavefront")
 (@template "_template.html")
\?>

<;\?scm
(for-each (lambda (name)
            (@include (string-append "_index-" name ".html")))
          '("top" "intro" "functions" "webgl" "products"
 "features" "customers" "company" "support"
 "sitemap" "formats" "video" "news"
 "design"))
\?>

The generated file does not contains any call to PHP; this way, it is sent as is, immediately by the Web Server, without any processing, and so, this is very fast.

Output optimization

We have added a command to generate the images tags that automatically generates a low resolution images that is loaded first and the image at the right size that is loaded later.

In addition, the generated HTML code is optimized in order to reduce its size and so, increase the loading speed.

Wait and scan

The compiler can be run in a scan mode: In this mode, it waits for any changes to the source directory and recompile only the files that need recompilation.

This way, if a new file is added to the Website, it is automatically visible.

The News of this Web site, for exemples, are a collection of Markdown files in a specific directory. The code that statically generates the corresponding Web page runs through these files and generates their HTML counterpart.

If a new file is added, the News part is recompiled, making the changes vsible almost immediately, with the difference that this conversion process is executed only once per new file. Generate once, view plenty!

Markdown

Markdown is a text file format that has two major features: be human readable and can be transformed into HTML easily. It is essentially used by open-source software makers for the read-me files and the documentation. However, as it is HTML compatible, it can be advantageously used in replacement for simple Web pages.

In Markdown, the example given above is:

# Main title

This a paragraph

And here, a new **paragraph**

* And here, an item
* Followed by another item

We have included a Markdown compiler in HTGEN that compiles plain Markdown pages in HTML, embedded Markdown pieces of text inside HTML code, using the <?md ... ?> tag. This capability to mix HTML and Markdown is really interesting.

And Markdown is especially powerful for tables:

#### Table exemple

| head 1  | head 2  |
|---------|---------|
| text 11 | text 12 |
| text 21 | text 22 |
| text 31 | text 32 |

Embedded Markdown

A great feature with HTGEN is the ability to mix HTML or PHP and Markdown in the same file.

<div class="split">
  <div>
    <?md
     Here we are in the Markdown world

     | This | is    |
     | a    | table |

     and this a new a new paragraph that can be
     written in several lines...
    ?>
  </div>
  <div>
    <?md
     Of course, as Markdown allows itself to include html
     <span class="italic">there is no limit!</span> to the
     integration!
    ?>
  </div>
</div>

Custom JavaScript framework causal.js

It exists a lot of JavaScript frameworks, dedicated to a specific task or more generalist, such as JQuery, Angular, Dojo, etc.

They are nice, stable, ... and somewhat huge. This is particularly true if a Website needs more than one Framework.

So, we have developed our own framework, Causal.js that automates some tasks such as Ajax queries, and have a nice set of User Interface widgets. We have designed Causal in order to have a small piece of versatile code and native OS Web widgets.

Ajax

Ajax is the technic to query the Web server for an URL and to obtain the result of this query. Ajax allows to update dynamically some parts of the Web page without the need of reloading the whole page. Causal.js offers a great Ajax interface that makes the Ajax use simpler than ever.

Light MVC controller mvc.php

MVC is the acronym of Model-View-Controller. It is a programming method that is mainly used for PHP programming; it separates the model (how to access to the data), the view (how to render the Web page) and the controller (how to control the Page rendering).

It exists several MVC based PHP frameworks in the market, such as Laravel or Synphony. The main pain with these frameworks is that they have a strong impact on how the Website is structured and the Web designer is not free to structure the pages as he wants.

We have developed a specific MVC controller that has no impact on the site structure and that is very light and versatile.

Light NoDB file system data_file.php

Database storing is the first thought of the Website designers, as this is an easy way to implement a solution, and data can be queried with the SQL powerful language...

However, database storing has a drawback: it needs a database server! This server becomes quickly the bottleneck of the Website because all the data come from it. In addition, this imposes the pages to be dynamically rendered.

When the amount of data remains small enough (less than 500k records), data can be advantageously stored in the file system. However, file storing lost the record indexing (file names are indexed by the operating system, but not the internal attributes of a record).

We have designed a custom storing system with two drivers, one for file system storing, and one for database storing (they can be exchanged at any time because the API is identical).

The API is defined with a PHP abstract class:

<?php
abstract class _Data {
  /*! debug flag */
  public $debug = false;

  /* check a table structure.
   * [attr-name => ['integer' | 'number' | 'string' |
   *                'primary' | 'index' |
   *                'uniq'    | 'not-null']
   * return boolean: the check status.
   */
  protected function _check_structure (& $structure);


  // I N T E R F A C E

  /*! Create a table.
   * @param name: the table name,
   * @param structure: the table structure,
   * @return boolean: the status.
   */
  abstract public function create ($name, $structure);

  /*! Test table existence.
   * @param name: the table name,
   * @return boolean: the status.
   */
  abstract public function exists ($name);

  /*! Delete a table.
   * @param name: the table name,
   * @param structure: the table structure,
   * @return boolean: the status.
   */
  abstract public function delete ($name);

  /*! Insert a new record in a table
   * @param table: the table name,
   * @param values: the values,
   * return record: a record.
   */
  abstract public function insert ($table, $values);

  /*! Remove some records.
   * @param $table: the table,
   * @param $records: the records to remove, as result of a select,
   * @return void.
   */
  abstract public function remove ($table, $records);

  /*! Update the given records of the table with the array of values.
   * @param table: the table,
   * @param records: the recorde, as a result of select,
   * @param values: the array of values to update,
   * @return void.
   */
  abstract public function update ($table, $records, $values);

  /*! Select the value of the matching records from the table where the
   * attributes equal the given values.
   * @param table the table,
   * @param attributes: array of attributes,
   * @param exprs: optional where expression
   * syntax:
   *   test  := [ '=' | '<>' | '<' | '>' | '<=' | '>=' | 'LIKE' ]
   *   exp   := [ 'ident' test 'value' ]
   *   op    := AND | OR
   *   where := exp
   * @return array or false.
   */
  abstract public function select ($table, $attributes, $exprs = false);
}

All the other PHP scripts in our system that access to data (mainly all the model.php files in our MVC implementation) use this class. At the initialization stage, the file driver or the database driver is chosen and instantiated. If we decide for some reasons to switch from a driver to another driver, all the code remains unchanged!

Links

This Website is generated by HTgen, a Website compiler designed by Andéor.

The big advantage of compiling Websites is to speedup the page generation by the Web server because the pages are already composed...

The main advantages of htgen are: