diff --git a/tools/generate_icon_font.py b/tools/generate_icon_font.py index 9c0e73f..d17e6aa 100644 --- a/tools/generate_icon_font.py +++ b/tools/generate_icon_font.py @@ -43,7 +43,7 @@ def Main (argv): Tools.ReplaceStringInFile (websiteIconsCssPath, './O3DVIcons.woff', 'O3DVIcons/O3DVIcons.woff') shutil.copy (os.path.join (iconFontDir, 'O3DVIcons.woff'), websiteIconFontDir) - infoCssDir = os.path.join (rootDir, 'website', 'info') + infoCssDir = os.path.join (rootDir, 'website', 'info', 'css') shutil.copy (os.path.join (iconFontDir, 'O3DVIcons.css'), os.path.join (infoCssDir, 'icons.css')) shutil.copy (os.path.join (iconFontDir, 'O3DVIcons.woff'), os.path.join (infoCssDir, 'O3DVIcons.woff')) diff --git a/website/info/cookies.html b/website/info/cookies.html index 5cb6197..a8511e1 100644 --- a/website/info/cookies.html +++ b/website/info/cookies.html @@ -6,9 +6,11 @@ - Online 3D Viewer Cookies Policy + Online 3D Viewer - + + + @@ -19,55 +21,59 @@ -
-

Online 3D Viewer Cookies Policy

- -

- Like most similar websites, Online 3D Viewer (the "Website") uses cookies. - On this page we explain more about cookies and how we use them. -

-

What are cookies?

-

- Cookies are small text files that are stored in your web browser that allows Online 3D Viewer or a third party to recognize you. - Cookies can be used to collect, store and share bits of information about your activities across websites, including on - Online 3D Viewer Website. -

-

- Cookies might be used for the following purposes: -

- -

- Online 3D Viewer uses both session cookies and persistent cookies. -

-

- A session cookie is used to identify a particular visit to our Website. These cookies expire after a short time, - or when you close your web browser after using our Website. We use these cookies to identify you during a single browsing session, - such as when you visit our Website. -

-

- A persistent cookie will remain on your devices for a set period of time specified in the cookie. - We use these cookies where we need to identify you over a longer period of time. For example, - we would use a persistent cookie to store your preferences on the Website. -

-

How do third parties use cookies on the Website?

-

- Third party companies like analytics companies use cookies to collect user information on an anonymous basis. - They may use that information to build a profile of your activities on the Online 3D Viewer Website and - other websites that you've visited. -

-

What are your cookies options?

-

- If you don't like the idea of cookies or certain types of cookies, you can change your browser's settings to - delete cookies that have already been set and to not accept new cookies. To learn more about how to do this, - visit the help pages of your browser. -

-

- Please note, however, that if you delete cookies or do not accept them, you might not be able to use all of - the features we offer, you may not be able to store your preferences, and some of our pages might not display properly. -

+ +
+
+

Cookies Policy

+

+ Like most similar websites, Online 3D Viewer (the "Website") uses cookies. + On this page we explain more about cookies and how we use them. +

+

What are cookies?

+

+ Cookies are small text files that are stored in your web browser that allows Online 3D Viewer or a third party to recognize you. + Cookies can be used to collect, store and share bits of information about your activities across websites, including on + Online 3D Viewer Website. +

+

+ Cookies might be used for the following purposes: +

+
    +
  • To provide analytics
  • +
  • To store your preferences
  • +
+

+ Online 3D Viewer uses both session cookies and persistent cookies. +

+

+ A session cookie is used to identify a particular visit to our Website. These cookies expire after a short time, + or when you close your web browser after using our Website. We use these cookies to identify you during a single browsing session, + such as when you visit our Website. +

+

+ A persistent cookie will remain on your devices for a set period of time specified in the cookie. + We use these cookies where we need to identify you over a longer period of time. For example, + we would use a persistent cookie to store your preferences on the Website. +

+

How do third parties use cookies on the Website?

+

+ Third party companies like analytics companies use cookies to collect user information on an anonymous basis. + They may use that information to build a profile of your activities on the Online 3D Viewer Website and + other websites that you've visited. +

+

What are your cookies options?

+

+ If you don't like the idea of cookies or certain types of cookies, you can change your browser's settings to + delete cookies that have already been set and to not accept new cookies. To learn more about how to do this, + visit the help pages of your browser. +

+

+ Please note, however, that if you delete cookies or do not accept them, you might not be able to use all of + the features we offer, you may not be able to store your preferences, and some of our pages might not display properly. +

+
diff --git a/website/info/O3DVIcons.woff b/website/info/css/O3DVIcons.woff similarity index 100% rename from website/info/O3DVIcons.woff rename to website/info/css/O3DVIcons.woff diff --git a/website/info/css/Quicksand/OFL.txt b/website/info/css/Quicksand/OFL.txt new file mode 100644 index 0000000..5186b46 --- /dev/null +++ b/website/info/css/Quicksand/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2011 The Quicksand Project Authors (https://github.com/andrew-paglinawan/QuicksandFamily), with Reserved Font Name “Quicksand”. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/website/info/css/Quicksand/Quicksand-Bold.ttf b/website/info/css/Quicksand/Quicksand-Bold.ttf new file mode 100644 index 0000000..edfa93f Binary files /dev/null and b/website/info/css/Quicksand/Quicksand-Bold.ttf differ diff --git a/website/info/css/Quicksand/Quicksand-Light.ttf b/website/info/css/Quicksand/Quicksand-Light.ttf new file mode 100644 index 0000000..42ef072 Binary files /dev/null and b/website/info/css/Quicksand/Quicksand-Light.ttf differ diff --git a/website/info/css/Quicksand/Quicksand-Medium.ttf b/website/info/css/Quicksand/Quicksand-Medium.ttf new file mode 100644 index 0000000..7eadfad Binary files /dev/null and b/website/info/css/Quicksand/Quicksand-Medium.ttf differ diff --git a/website/info/css/Quicksand/Quicksand-Regular.ttf b/website/info/css/Quicksand/Quicksand-Regular.ttf new file mode 100644 index 0000000..cb1596d Binary files /dev/null and b/website/info/css/Quicksand/Quicksand-Regular.ttf differ diff --git a/website/info/css/Quicksand/Quicksand-SemiBold.ttf b/website/info/css/Quicksand/Quicksand-SemiBold.ttf new file mode 100644 index 0000000..b280a9d Binary files /dev/null and b/website/info/css/Quicksand/Quicksand-SemiBold.ttf differ diff --git a/website/info/icons.css b/website/info/css/icons.css similarity index 100% rename from website/info/icons.css rename to website/info/css/icons.css diff --git a/website/info/css/info.css b/website/info/css/info.css new file mode 100644 index 0000000..a9f326d --- /dev/null +++ b/website/info/css/info.css @@ -0,0 +1,232 @@ +@font-face +{ + font-family: Quicksand; + src: url('Quicksand/Quicksand-Regular.ttf'); +} + +html, body +{ + color: #000000; + background: #ffffff; + font-size: 16px; + font-family: Quicksand, Arial, Helvetica, sans-serif; + scroll-behavior: smooth; + margin: 0px; + padding: 0px; +} + +a +{ + color: #3393bd; + text-decoration: none; +} + +a:hover +{ + text-decoration: underline; +} + +i.icon +{ + font-size: 16px; + margin: 0px 2px; + display: inline-block; + position: relative; + bottom: -4px; +} + +h1 +{ + font-size: 25px; + margin-top: 50px; + margin-bottom: 20px; +} + +h1.first +{ + margin-top: 0px; +} + +h2 +{ + font-size: 19px; + margin-top: 30px; + margin-bottom: 20px; +} + +p +{ + text-align: justify; + line-height: 25px; + margin-top: 0px; + margin-bottom: 15px; +} + +p.info +{ + background: #e4f4ff; + padding: 10px; + border-left: 3px solid #3393bd; +} + +ol, ul +{ + padding: 0px 0px 0px 25px; +} + +li +{ + text-align: justify; + line-height: 25px; + margin: 10px 0px; +} + +table +{ + width: 100%; + border-collapse: collapse; +} + +table td, th +{ + text-align: left; + padding: 6px 10px; + border: 1px solid #dddddd; +} + +table td.hidden +{ + display: none; +} + +table th +{ + background: #fafafa; +} + +table td.center +{ + text-align: center; +} + +table td.green +{ + color: #21c23c; + font-weight: bold; +} + +table td.red +{ + color: #bf233d; + font-weight: bold; +} + +div.header +{ + margin-bottom: 20px; + box-shadow: 0px 0px 10px #dddddd; + overflow: auto; +} + +div.frame +{ + padding: 15px; + width: 920px; + margin: 0px auto; + overflow: auto; +} + +div.logo +{ + float: left; +} + +div.logo img +{ + height: 40px; + display: block; +} + +div.logo img.logo_with_text +{ + display: block; +} + +div.logo img.logo_without_text +{ + display: none; +} + +div.menu +{ + float: right; +} + +div.menu a +{ + color: #000000; + padding: 10px; + display: block; + float: left; + text-decoration: none; +} + +div.menu a.active +{ + font-weight: bold; +} + +div.main +{ + padding: 10px 0px; + overflow: auto; +} + +@media only screen and (max-width: 500px) +{ + +div.logo img.logo_with_text +{ + display: none; +} + +div.logo img.logo_without_text +{ + display: block; +} + +div.menu +{ + float: left; + margin-left: 15px; +} + +} + +@media only screen and (max-width: 1000px) +{ + +div.frame +{ + width: auto; +} + +div.manual_menu +{ + display: none; +} + +div.manual_main +{ + margin-left: 0px; +} + +table.formats th:nth-child(1), +table.formats td:nth-child(1), +table.formats th:nth-child(6), +table.formats td:nth-child(6) +{ + display: none; +} + +} diff --git a/website/info/faq.html b/website/info/faq.html index 00ba840..277a88c 100644 --- a/website/info/faq.html +++ b/website/info/faq.html @@ -6,10 +6,11 @@ - Online 3D Viewer Frequently Asked Questions + Online 3D Viewer - - + + + @@ -17,113 +18,76 @@ - - -
-

Online 3D Viewer Frequently Asked Questions

- -

- Here you can find the frequently asked questions for Online 3D Viewer. - Click on a question to see the answer. If you can't find your answer here, feel free to - create an issue on GitHub. -

- -

Model Loading

- -

No importable file found - what does that mean?

-
-

- It means that none of your files are importable. Online 3D Viewer tries to detect importable files - by extension. Check if your format in the supported file formats list, and make sure that you use the - proper extension. -

-
- -

Failed to load file for import - what does that mean?

-
-

- It means that an importable file format is detected, but the website failed to load the file. It usually - happens when you try to load a model from an external url. -

-

- To resolve this issue, check if your url works in a browser window. -

    -
  • - If it works, it means that your url is ok, but the website can't access it. Usually it's caused by a CORS (Cross-Origin Resource Sharing) policy violation. - It means that the server that hosts the model doesn't allow requests from a different origin. To resolve this issue, allow CORS requests on the server. -
  • -
  • - If it doesn't work, it means that your url is wrong. Fix the url. -
  • -
-

-
- -

Failed to import model - what does that mean?

-
-

- It means that an importable file is found, the import process is started, but failed for some reason. - If the error message doesn't help, create an issue on GitHub. -

-
- -

Why does my model works fine locally, but not from an url?

-
-

- Usually it's caused by a CORS (Cross-Origin Resource Sharing) policy violation. - It means that the server that hosts the model doesn't allow requests from a different origin. To resolve this issue, allow CORS requests on the server. -

-
- -

Model Display

- -

Why is my model completely gray?

-
-

- Some file formats are coming with no material information (e.g. stl). These models will be visualized - with a default gray color. You can easily change this color in the settings panel () on the right. -

-

- Some file formats are coming in multiple files, and material information can be in a separate file - (e.g. obj files are usually working with mtl files). Check the files panel for any missing files (), and if you - have the file, import it together with the main file. -

-
- -

Model Share

- -

Why does sharing fail?

-
-

- Online 3D Viewer doesn't store models, everything happens in your browser. Sharing possible only if your - files are coming from an external server. For example you can share a model that is loaded using the - open url button (). -

-

- When you drag and drop a model, or load it using the open button (), the model - is not publicly available, so in this case sharing is not possible. -

-
- + +
+
+

+ Here you can find the frequently asked questions for 3dviewer.net. + If you can't find your answer here, feel free to + create an issue on GitHub. +

+

Model loading

+

No importable file found - what does that mean?

+

+ It means that none of your files are importable. Online 3D Viewer tries to detect importable files + by extension. Check if your format in the supported file formats list, and make sure that you use the + proper extension. +

+

Failed to load file for import - what does that mean?

+

+ It means that an importable file format is detected, but the website failed to load the file. It usually + happens when you try to load a model from an external url. +

+

+ To resolve this issue, check if your url works in a browser window. +

    +
  • + If it works, it means that your url is ok, but the website can't access it. Usually it's caused by a CORS (Cross-Origin Resource Sharing) policy violation. + It means that the server that hosts the model doesn't allow requests from a different origin. To resolve this issue, allow CORS requests on the server. +
  • +
  • + If it doesn't work, it means that your url is wrong. Fix the url. +
  • +
+

+

Failed to import model - what does that mean?

+

+ It means that an importable file is found, the import process is started, but failed for some reason. + If the error message doesn't help, create an issue on GitHub. +

+

Why does my model works fine locally, but not from an url?

+

+ Usually it's caused by a CORS (Cross-Origin Resource Sharing) policy violation. + It means that the server that hosts the model doesn't allow requests from a different origin. To resolve this issue, allow CORS requests on the server. +

+

Model display

+

Why is my model completely gray?

+

+ Some file formats are coming with no material information (e.g. stl). These models will be visualized + with a default gray color. You can easily change this color in the settings panel () on the right. +

+

+ Some file formats are coming in multiple files, and material information can be in a separate file + (e.g. obj files are usually working with mtl files). Check the files panel for any missing files (), and if you + have the file, import it together with the main file. +

+

Model sharing

+

Why does sharing fail?

+

+ Online 3D Viewer doesn't store models, everything happens in your browser. Sharing possible only if your + files are coming from an external server. For example you can share a model that is loaded using the + open url button (). +

+

+ When you drag and drop a model, or load it using the open button (), the model + is not publicly available, so in this case sharing is not possible. +

+
diff --git a/website/info/images/3dviewer_net_logo.svg b/website/info/images/3dviewer_net_logo.svg new file mode 100644 index 0000000..35d447f --- /dev/null +++ b/website/info/images/3dviewer_net_logo.svg @@ -0,0 +1,2 @@ + + diff --git a/website/info/images/3dviewer_net_logo_text.svg b/website/info/images/3dviewer_net_logo_text.svg new file mode 100644 index 0000000..53575d4 --- /dev/null +++ b/website/info/images/3dviewer_net_logo_text.svg @@ -0,0 +1,2 @@ + + diff --git a/website/info/index.html b/website/info/index.html index d8f7741..d0bcdc9 100644 --- a/website/info/index.html +++ b/website/info/index.html @@ -6,10 +6,11 @@ - Online 3D Viewer Manual + Online 3D Viewer - - + + + @@ -20,40 +21,23 @@ -
-

Online 3D Viewer Manual

+ +
+

- This is the user manual for the 3dviewer.net website. - The website can open several 3D file formats and visualize the model in your browser. - It supports obj, 3ds, stl, ply, gltf, glb, off, 3dm, fbx, and more. + This is the user manual of 3dviewer.net. + The website can open several 3D file formats and visualize them in your browser. + It supports obj, 3ds, stl, ply, gltf, glb, off, 3dm, fbx, and much more.

-

-

    -
  1. Supported file formats
  2. -
  3. Loading models
  4. -
      -
    1. Loading models from your computer
    2. -
    3. Loading models hosted on a web server
    4. -
    5. Loading models models hosted on GitHub
    6. -
    7. Loading models models hosted on DropBox
    8. -
    9. Missing files
    10. -
    -
  5. Sharing and embedding models
  6. -
  7. Model and visualization settings
  8. -
  9. Exporting models
  10. -
  11. Troubleshooting
  12. -
  13. Self-hosted viewer
  14. -
  15. Cookies policy
  16. -
-

- -

Supported file formats

+

Supported formats

The website supports several file formats for import and export. If a file format has text and binary version, usually it's recommended to use the binary version.

- +
@@ -61,7 +45,6 @@ - @@ -70,7 +53,6 @@ - @@ -79,7 +61,6 @@ - @@ -88,14 +69,14 @@ - + + - @@ -104,14 +85,14 @@ - + + - @@ -120,15 +101,14 @@ - + - @@ -137,14 +117,14 @@ - + + - @@ -153,7 +133,6 @@ - @@ -162,7 +141,6 @@ - @@ -171,14 +149,14 @@ - + + - @@ -187,7 +165,6 @@ - @@ -196,7 +173,6 @@ - @@ -205,7 +181,6 @@ - @@ -214,7 +189,6 @@ - @@ -223,25 +197,22 @@ -
Format ExtensionImport Export SourceComment
Wavefront Native
3D Studio Native
Stereolithography Native
binary Native
Polygon File Format Native
binary Native
glTF Native
glb binary Native
Object File Format Native
binary Native
Dotbim Native
Rhinoceros 3D rhino3dmexperimental
Filmbox three.jsexperimental
binary three.jsexperimental
Collada three.jsexperimental
Virtual Reality Modeling Language three.jsexperimental
3D Manufacturing Format three.jsexperimental
STEP occt-import-jshighly experimental
Industry Foundation Classes web-ifchighly experimental

- -

Loading models

+

Loading models

There are several ways to load models. You can use files from your computer or load files hosted on an external web server.

- Please note, that some 3D models are built up from multiple files (for example an obj file usually comes with an mtl file, - and some texture files). For the correct visualization you have to import all of the required files. See the Missing files + Please note, that some 3D models are built up from multiple files (for example an obj file usually comes with an mtl file + and some texture files). For the correct visualization you have to import all of the required files. See the Missing files section for more details.

- -

Loading models from your computer

+

Loading models from your computer

You can load models from your computer. In this case the model won't be uploaded to any web server, - the whole visualization happens in your browser. + the entire process happens in your browser.

There are two ways to load models from your computer: @@ -259,70 +230,57 @@ it's also possible to load an entire folder from your computer.

- If multiple files can be loaded, a dialog will appear, where you can select which file would you like to import. + If multiple files can be loaded, a dialog will appear where you can select which file would you like to import.

- -

Loading models hosted on a web server

+

Loading models hosted on a web server

You can load models by url with the open url button () on the toolbar. - Here you can list all of the model files. You should place every file in a separate line. + Here you can list all the required files. You should place every file in a separate line.

- To make this work, CORS (Cross-Origin Resource Sharing) must be enabled on the server. + To make this work, CORS (Cross-Origin Resource Sharing) must be enabled on the remote server.

- -

Loading models hosted on GitHub

+

Loading models hosted on GitHub

- To load a model hosted on GitHub follow the steps below: + To load a model hosted on GitHub follow the steps below.

    -
  1. Commit models to GitHub with all the required files.
  2. +
  3. Open the file or files on GitHub, and copy the link of them from the address bar.
  4. Go to 3dviewer.net, and click on the open url button () on the toolbar.
  5. -
  6. - Open the files on GitHub, copy the link of the file from the address bar, and paste it in the dialog. See the example below. -
    - https://github.com/kovacsv/Online3DViewer/blob/master/test/testfiles/3ds/cube_four_instances.3ds
    - https://github.com/kovacsv/Online3DViewer/blob/master/test/testfiles/3ds/texture.png -
    -
  7. -
  8. Click on OK.
  9. +
  10. Paste file the link or links in the dialog, and click on OK.

- -

Loading models hosted on DropBox

+

Loading models hosted on DropBox

To load a model hosted on DropBox follow the steps below:

  1. Upload models to DropBox with all the required files.
  2. +
  3. Get the sharing link or links from DropBox.
  4. Go to 3dviewer.net, and click on the open url button () on the toolbar.
  5. -
  6. - Get the sharing link from DropBox for all of the files, and paste it in the dialog. See the example below. -
    - https://www.dropbox.com/s/wd6lt7h4xa8fuv0/cube_four_instances.3ds?dl=0
    - https://www.dropbox.com/s/6dfk1jveevbofxm/texture.png?dl=0 -
    -
  7. -
  8. Click on OK.
  9. +
  10. Paste file the link or links in the dialog, and click on OK.

- -

Missing files

+

Missing files

Sometimes you see missing files in the tree. It means that your model refers to another files, but they are not selected to import. To solve the issue you have to import the model again together with the referenced files, or just import the missing files on their own.

- -

Sharing and embedding models

+

Exporting models

+

+ You can export your model in several file formats. To achieve this, click on the export button () on the toolbar. + After that, select the format you would like to export to, and click on Export. If the result contains multiple files, + they will be automatically zipped. +

+

Sharing models

If your models are hosted on a web server, you can share the link with others, or you can generate embedding code to integrate the viewer in your website. To get the sharing link or the embedding code, click on the share model button () on the toolbar.

- -

Model and visualization settings

+

Settings

You can access model and visualization settings by opening the settings panel () on the right.

@@ -330,7 +288,12 @@
  • Background Color: This will change the background color of the canvas. It has no effect on model export, - but the background color will be visible when you export a png image. + but the background color will be visible when you create a snapshot. +
  • +
  • + Show Edges: Here you can set the edge display parameters. If edges are visible, you can choose a color + for all edges, and a threshold angle. Edges will be visible only if the angle between the adjoining faces + exceeds the threshold.
  • Default Color: This color is used when there is no material information in the model (for example in case @@ -338,35 +301,11 @@ with the chosen color.
  • - Edge Display: Here you can set the edge display parameters. If edges are visible, you can choose a color - for all edges, and a threshold angle. Edges will be visible only if the angle between the adjoining faces - exceeds the threshold. -
  • -
  • - Appearance: Switch between light and dark themes. + Dark Mode: Switch between light and dark themes.

- -

Troubleshooting

-

- If you have issues, you can check the Frequently Asked Questions page, or you can create an issue on GitHub. -

- -

Exporting models

-

- You can export your model in several file formats. To achieve this, click on the export button () on the toolbar. - After that, select the format you would like to export to, and download the resulting files one by one. -

- -

Self-hosted viewer

-

- You can use the code without involving the official website. - In this case you should self-host the viewer code and the models as well. - See the developer documentation for details. -

- -

Cookies policy

+

Cookies

You can check the policy at the Cookies Policy page.

diff --git a/website/info/info.css b/website/info/info.css deleted file mode 100644 index 4d642b8..0000000 --- a/website/info/info.css +++ /dev/null @@ -1,166 +0,0 @@ -html, body -{ - color: #000000; - background: #ffffff; - font-size: 16px; - font-family: Arial, Helvetica, sans-serif; - scroll-behavior: smooth -} - -a -{ - color: #3393bd; - text-decoration: none; -} - -a:hover -{ - text-decoration: underline; -} - -i.icon -{ - font-size: 16px; - margin: 0px 2px; - display: inline-block; - position: relative; - bottom: -4px; -} - -h1 -{ - font-size: 27px; - font-weight: normal; - margin-top: 30px; - margin-bottom: 20px; - padding: 10px 0px; - border-bottom: 1px solid #cccccc; -} - -h1 a -{ - color: inherit; -} - -h1 a:hover -{ - text-decoration: none; -} - -h2 -{ - font-size: 25px; - font-weight: normal; - margin-top: 30px; - margin-bottom: 20px; - padding: 10px 0px; - border-bottom: 1px solid #cccccc; -} - -h3 -{ - font-size: 21px; - font-weight: normal; - margin-top: 30px; - margin-bottom: 20px; -} - -p -{ - text-align: justify; - margin: 10px 0px; - line-height: 25px; -} - -p.info -{ - background: #e4f4ff; - padding: 10px; - border-left: 3px solid #3393bd; -} - -ol, ul -{ - padding: 0px 0px 0px 25px; -} - -li -{ - text-align: justify; - line-height: 25px; - margin: 10px 0px; -} - -table -{ - border-collapse: collapse; -} - -table td, th -{ - padding: 10px; - border: 1px solid #dddddd; -} - -table th -{ - background: #fafafa; -} - -table td.center -{ - text-align: center; -} - -table td.green -{ - color: #21c23c; - font-weight: bold; -} - -table td.red -{ - color: #bf233d; - font-weight: bold; -} - -div.main -{ - width: 920px; - margin: 30px auto; -} - -div.code -{ - background: #f0f0f0; - font-family: monospace; - font-size: 14px; - margin: 10px 0px; - padding : 5px; - overflow: auto; - white-space: nowrap; -} - -h3.question -{ - cursor: pointer; - margin-top: 15px; - margin-bottom: 20px; -} - -div.answer -{ - display: none; - margin-bottom: 30px; -} - -@media only screen and (max-width: 1000px) -{ - -div.main -{ - width: auto; - margin: 0px 20px; -} - -} diff --git a/website/info/js/info.js b/website/info/js/info.js new file mode 100644 index 0000000..41b7df3 --- /dev/null +++ b/website/info/js/info.js @@ -0,0 +1,42 @@ +function CreateElement (parentElem, typeName, className) +{ + let elem = document.createElement (typeName); + if (className !== null) { + elem.classList.add (className); + } + parentElem.appendChild (elem); + return elem; +} + +function GenerateMenu (menuDiv, activeMenu) +{ + let items = [ + { name: 'MANUAL', link: 'index.html' }, + { name: 'FAQ', link: 'faq.html' } + ]; + for (let item of items) { + let element = CreateElement (menuDiv, 'a', null) + element.innerHTML = item.name; + element.setAttribute ('href', item.link); + if (item.name === activeMenu) { + element.classList.add ('active'); + } + } +} + +function GenerateHeader (activeMenu) +{ + let headerDiv = CreateElement (document.body, 'div', 'header'); + let frameDiv = CreateElement (headerDiv, 'div', 'frame'); + + let logoDiv = CreateElement (frameDiv, 'div', 'logo'); + let logoImgLink = CreateElement (logoDiv, 'a', null); + logoImgLink.setAttribute ('href', 'index.html'); + let logoImgWithTextDiv = CreateElement (logoImgLink, 'img', 'logo_with_text'); + logoImgWithTextDiv.src = 'images/3dviewer_net_logo_text.svg'; + let logoImgWithoutTextDiv = CreateElement (logoImgLink, 'img', 'logo_without_text'); + logoImgWithoutTextDiv.src = 'images/3dviewer_net_logo.svg'; + + let menuDiv = CreateElement (frameDiv, 'div', 'menu'); + GenerateMenu (menuDiv, activeMenu); +}