Geometric classification by entity, layer and color

Hello ShapeDiver Team,

I am trying to figure out how, through the GH code I upload to your system, I can classify the different geometries found in the file by the following parameters:

  • Entity (Curve ? Dot? Surface? Poly-surface? Etc…)
  • Layer (the name of the layer where the geometry is in the file)
  • Color (the color in which the geometry is “painted” in the file)

To understand how this is possible, I assumed I could use one of the following:

  • “Pipeline Geometry” - Is this command available in SD ?

  • “Dynamic Pipeline Geometry” - by Human - I did a thorough mapping to understand whether this component can be used, I edited visualy all of the menus, checked one by one which is included in SD, and realized that I didn’t. indeed? The following is the mapping:

  1. I would love to solve this.
  2. Did I have to do all this mapping work for understanding witch components of Human for example I can use?

Nadav Atkin.
| Internal documentation | Question # 2 |

The definitions uploaded to ShapeDiver cannot reference a Rhino document, therefore there is no way to reference anything else than the geometry sent to the ShapeDiverDisplayGeometry components. You can organize the geometry by using different ShapeDiverDisplayGeometry and use trees.

PS: the only supported components from the Human plugin are the Texture Mapping components, as specified in the documentation.

Hi Mathieu Huard,

  1. My question is about geometry import, not export/display. I need mt rhino file to be uplauded, and checked for the parameters of its content, & I Didn’t understand how a display component would help me in this case? It has no output at all, and I need 3 Outputs as I mentioned:
  • Entity (Curve? Dot? Surface? Poly-Surface? Etc …)
  • Layer (the name of the layer where the geometry is in the file)
  • Color (the color in which the geometry is “painted” in the file)

& one Input - The geometry…

  1. In your documentation you can download a GH file of components that cannot be used. After - I need to create on PS a table of all the components one by one for every plug-in, & marked “what is allowed and what is not allowed” list, and then create a X on each one not allawed, and delete it from the GH file. That’s a lot of work (it took me over an hour and a half to plug in one). No documentation for that? sounds like a basic Q…


  1. At the moment, you can only import OBJ and DXF files, and you cannot import any meta information, just pure meshes (OBJ) and curves (DXF). We are working on 3DM import and will likely include a way to retrieve the information you need. I will let you know when this feature is released.

  2. Do you mean that you would like a documentation page with an explicit list of components that are not allowed for each plugin supported on ShapeDiver? I guess we can do that. In general, if you read our documentation (and particularly this page), you should be able to guess which components are not allowed and for what reason.

Hi Mathieu Huard, and thanks for the quick reply!

1.1. From what I understood from our opening conversation with Ezequiel, you are supporting rhino files & thats why we started the development on SD.
We clarified that our users will mainly upload files in formats, and now I feel like I must make sure again that it will work with:

  • DM3 (rhino)
  • DWG (autocad)
  • DXF
  • PDF
  • OBG
    Don’t you support them? I would love to clarify the issue in depth, because we invest in it a lot and thats the INFO we have from the conversations with Ezequiel.

1.2. Anyway - I’d love to understand how I import a file, and extract all the information it contains:

  • Entity (Curve? Dot? Surface? Poly-Surface? Etc …)
  • Layer (the name of the layer where the geometry is in the file)
  • Color (the color in which the geometry is “painted” in the file)

2.1. In the link you sent you can download GH file of not allowed components. When you open it - all components over each other in overlap, and need to be sorted out, emailed to filter, and a lot of Photoshop work that takes a lot of time. Its OK! Ill do it for you!

2.2. Do you have a list like this for GH normal components? or an dissabled GH components file like what you have for " Supported third-party Grasshopper plugins"?


Hi Nadav,

unfortunately there must be a misunderstanding as we only support importing OBJ and DXF with our PRO accounts. This is clearly specified in our documentation here, which I mentioned you should check out in full.

I even sent this OBJ example for you to check how the upload button looks in our control panel. I also mentioned you needed to use the specific ShapeDiverGeometryInput component included in our plugin and to check out our YouTube tutorials dedicated to importing files.

You must be confusing the allowed formats for importing with those for exporting, as we do support more file formats when exporting than we do when importing. Again, you can find out exactly the type of formats available for export here in our documentation.

Hi Ezequiel Lopez,

1.1.1. In both Pro & Enterprise?

1.1.2. If so - How long could such a development take? Our hole system is baced on 3DM & DWG files because those are the formats our users use…

1.1.3. how can I get this OBJ example GH file?

1.1.4 In our system the user will uplaud and use our site directly, through oue website… so I dont need a botton - but a URL of file only, and a “ShapeDiverTextInput” for the URL.

1.1.5. I saw the video and yet did not understand how I know the color and layer of each element entered through ShapeDiverGeometryInput:

  • Entity (Curve? Dot? Surface? Poly-Surface? Etc …)
  • Layer (the name of the layer where the geometry is in the file)
  • Color (the color in which the geometry is “painted” in the file)

I would love to answer these questions.


1.1.1 At the moment, only OBJ and DXF are supported, for all types of accounts.
1.1.2 We know that we will add 3DM and DWG in the future but we don’t have a release date yet.
1.1.3 This file is not available for download. If you want an example about how file imports work, you can have a look at this tutorial model (download link for the GH in the description).
1.1.4 Great, that will work.
1.1.5 As I was saying in my comment above, at the moment you cannot import any meta information about the geometry you import. This will likely become possible when we support 3DM import.
2.2 We don’t have such an explicit list at the moment. I agree it would make sense and we will work on it. In the meanwhile, use common sense as much as possible: we support most of the standard Grasshopper components except the ones that don’t make sense in the context of ShapeDiver.

1.1.5 - so for now we cant use your solution!!!
PLZ contact me personaly. on video? when possible?

Let’s go for option 2.

I would love for detailed answers to my questions:

[quote=“etkinadav, post:10, topic:99789”]
2.2.2. Entity List (PL, L, CIR, ARC, SPL only. do you support more/others in DXF?)
[/quote] > Blockquote

[quote=“etkinadav, post:10, topic:99789”]
Due to the use of VB I received a warning

“Your model contains scripts which need to be checked …” ***
(Ref: b2e2b818-f9b0-452f-8c20-b8886bd582f6)
[/quote] > Blockquote

Detailed answers will help me make great progress.



This is a good overview on the situation, and the 3 options you describe are indeed three possible ways to solve your problem.

Option 1 requires us to develop a new feature in the product. Since it is not planned in our immediate roadmap, this would take the form of a custom development. We can setup a call to discuss details if you are interested.

Option 2 is optimal in the current version of the system, and I believe it would be efficient. Regarding the script warning, it does not mean that the model is denied. You will receive it every time you upload a definition with a new script to the system, since we need to manually validate them.

Option 3 is also a solution, however I believe this is not efficient and quite high maintenance.

You can find the list of supported DXF entities here.

Regarding your VB scripts, I refer you to my above answer:

In other words, every time you upload a model with a new script, you will get this warning and you will need to wait until we manually validate (or deny) it.

Hi Mathieu Huard,

Thanks for the list of supported DXF entities.

  1. Technical Question:
    Introducing Component “Text” to Code, with Layer Name (REC, CUT1, …) and fixed font size nomber slider:

    For some unclear reason, SD displays the reporter size name, rather than the layer name:

1.1. Would love to understand what’s going on here?
1.2. Which text display component do you recommend using if there is a problem? Because there seems to be a problem …

  1. Forum Question - Jeneraly, how do I get a code-checked update when SD team finish checking it? mail?


any news?

I don’t know which Text component you are describing in the message above, so it is difficult to check where the problem comes from. In general, you can use the attached script for converting text to curves and surfaces. Also be aware that ShapeDiver is compatible with 2D and 3D text tags, if this text is only used for display. (23.8 KB)

Regarding script checking: you will receive an email once someone has checked your scripts and either accepted them or denied them. If your scripts are denied and you don’t understand why, let us know on the forum.

Hi Mathieu Huard,

  1. About the text -
    1.1. For display only - I’ll use 2D and 3D text tags, But then how can I diside the FONT?
    1.2. About text engraving -
    1.2.1. The code you sent didn’t work for me. why? Below is a screenshot:

    1.2.2. Can I use the engraving component of the openest text? Below is a screenshot:

  2. I created a new definition for the process review in a focused and cost-effective way, containing one list of geometry, and one of text.
    Together, they should classify the elements in the file by layers and entities.
    This definition also contains VB and therefore needs testing: (Ref: 83b14334-ef9e-4ef6-9b9a-8830e8b73766).
    Can you check the setting as soon as I can to move forward and know that this part of the code works?


I have no idea why the script I sent you does not work for you. Are you using Rhino 5? We frequently send it as a solution to create curves and surfaces from text and it usually works. But yes, you can use the OpenNest component as well.

Regarding text tags, there is no way to define a font, so you will be stuck with the default one included in our viewer.

Regarding your scripts, I validated all of them yesterday so your definition should be ready now.

Hi Mathieu Huard,

  1. TEXT:
    I use Rhino6 only. this preticular OpenNest Text component (“1.2.2. Can I use the engraving component of the openest text? Below is a screenshot”) is surely from your pakage of 3rd part Components ZIP file from SD. I need a solution for text lazer cutting marking one for simple font, and one for the display only that i need to choose a font (MULI-FONT). throu text tag? i didnt see a FONT input. can you sand / reccomend a component for each 2 cases?

  2. Thanks for cheking my code:
    2.1. Why don’t I see the different colors I set on the display?

    2.2. What are these tiny ellipse-shaped-like-CRVs appears in the SD-3D-display?

the dxf>text python code we develop is on its way and I want to check it.


Hi, any news?

  1. Another user recently reported issues with the OpenNest text component. I suggest you use another one. For example, use the “Text Curves” component from the Squid (ShapeDiver version) plugin that is installed automatically with ShapeDiver from version 1.6. Let me know if that works for you. In that case, you will be able to pick a font for the text. The text tag components don’t let you pick a font and therefore the ShapeDiver viewer has a default font when they are used that cannot be changed.

Let me know if you have any other questions regarding text manipulation after following those suggestions.

2.1 I am not sure I understand your question. Where do you not see the colors? In Rhino or online on ShapeDiver? Are you using the “Custom Preview” component from Grasshopper or the ShapeDiverMaterial component?
2.2 I don’t know what those ellipses are. I would need a minimal definition which creates the ellipses so that I can review it and try to track the problem.