GDL
About building parametric objects with GDL.
SOLVED!

How can I make the prism not combine?

LeeJaeYoung
Virtuoso

I have specified 3 different materials.
However, in the cross section, all three are connected.
What can I do to prevent them from joining?

Where can I study?

 

PRISM_ 10, -gs_sash_thk,
WHA, us_frame_width2, 15,
-WHA, us_frame_width2, 15,
-WHA, B-us_frame_width2, 15,
WHA, B-us_frame_width2, 15,
WHA, us_frame_width2, -1, !End of contour

WHA-_wid, us_frame_thk2+gs_sash_width, 15,
-WHA+_wid, us_frame_thk2+gs_sash_width, 15,
-WHA+_wid, B-(us_frame_thk2+gs_sash_width), 15,
WHA-_wid, B-(us_frame_thk2+gs_sash_width), 15,
WHA-_wid, us_frame_thk2+gs_sash_width, -1 !End of first hole

 

LeeJaeYoung_2-1654240774813.png

 

LeeJaeYoung_1-1654240750349.png

 

LeeJaeYoung_0-1654240618250.png

 

AC27 on window 11
1 ACCEPTED SOLUTION

Accepted Solutions
Solution

This is one of the issues of using prisms. When 2 prisms of the same material are directly adjacent the edge lines disappear.

If you use extrudes and tubes you wont have this problem. However, prisms are the the only shape that allows for different surfaces on each face, which is very useful for doors and windows.

You can solve the merging in section by applying different Section Attributes, using SECT_ATTRS, to the pieces that are adjacent. However this is not always logical has often the adjacent pieces are the same material. I have had to do this in my joinery tool.

For my window tool I have used tubes and extrudes in most places so I only have the issue with door panels. To get around the issue I reduce the size of the elements by .0002 (.0001 is not enough) so adjacent elements don't actually touch.

Would love a solution to this. I have tried all the different edge status codes and nothing seems to work.

Creator of Cadswift's parametric GDL libraries
Creator of Infinite Openings and Component Catalogues
Push the envelope & watch it bend
website: https://cadswift.com.au/
YouTube: https://www.youtube.com/user/CADSwift/playlists

View solution in original post

7 REPLIES 7
A_ Smith
Expert

You can make prism dimensions and their placement more precise or use solid geometry commands

AC 22, 24 | Win 10

Can you explain in a little more detail?
I am a beginner.

AC27 on window 11

Basically there two options:

1. You trace every Coordinate Transformation (which moves your prisms) and find out why one of the prism overlaps another one. Maybe there is some miscalculation in distance. I think there is - either with prisms dimensions, either with Coordinate Transformation or even both. It kinda proper way.

2. Create groups for prisms and make subgroup with them. More info about solid operations below

 

https://gdl.Graphisoft.com/gdl-basics/advanced-3d-components

AC 22, 24 | Win 10

I have a question about the parts where the materials fit together in the cross section are joined together.

As seen from the cross section, two frames and one sash are combined.

I'm not trying to use the group command.

AC27 on window 11
Solution

This is one of the issues of using prisms. When 2 prisms of the same material are directly adjacent the edge lines disappear.

If you use extrudes and tubes you wont have this problem. However, prisms are the the only shape that allows for different surfaces on each face, which is very useful for doors and windows.

You can solve the merging in section by applying different Section Attributes, using SECT_ATTRS, to the pieces that are adjacent. However this is not always logical has often the adjacent pieces are the same material. I have had to do this in my joinery tool.

For my window tool I have used tubes and extrudes in most places so I only have the issue with door panels. To get around the issue I reduce the size of the elements by .0002 (.0001 is not enough) so adjacent elements don't actually touch.

Would love a solution to this. I have tried all the different edge status codes and nothing seems to work.

Creator of Cadswift's parametric GDL libraries
Creator of Infinite Openings and Component Catalogues
Push the envelope & watch it bend
website: https://cadswift.com.au/
YouTube: https://www.youtube.com/user/CADSwift/playlists

thank you ^^

AC27 on window 11

Another workaround could be to insert a plane where you want to see the line (as long as it is a plane, and has no curved edges):

sect_attrs f, 0, 1, 2

PRISM_ 4, 1,
0, 0, 15,
0, B, 15,
A, B, 15,
A, 0, 15

addz 1

PRISM_ 4, 1,
0, 0, 15,
0, B, 15,
A, B, 15,
A, 0, 15

plane_ 4,
0, 0, 0, 15,
0, B, 0, 15,
A, B, 0, 15,
A, 0, 0, 15

 

Péter Baksa
Software Engineer, Library as a Platform
Graphisoft SE, Budapest