About building parametric objects with GDL.

PRISM_ status codes are confusing

Laurentiu C



I'm trying to understand how status codes work and in general they seem easy enough in principle.

Yet when applying them to a PRISM_ they seem to work in a very non-intuitive way.


Here is a small test that I have made.


Firstly, we have a small circle.

I wanted to test how changing the status codes influences the edge visibility.

I quickly discovered that changing the status code from line 6 (the one where the circle is defined) doesn't do anything for the edges. Instead I have to change the status code at line 5, which should only define the centerpoint.

The reference guide (at Full circle using centerpoint and radius chapter) also suggests that the second SC is the one that refers to the whole circle, so I would assume that this is the one that influences the edge visibility.


So shouldn't it be the the other way around? The centerpoint status code shouldn't do anything and only the second status code should change the edge visibility?


Ok so secondly, even more confusing, is trying to cut out a circle out of a small prism.

In this case, neither of the two lines of code that actually deal with the circle don't influence it's visibility.

Instead, only the status code for the last edge of the prism (line 18) is that one that actually influences the edge visibility for the circle.


It feels like I am missing something about the way cutouts should be defined.


Can someone elighen me on how all of this works?





Laurentiu | Architect | exstudio
AC 17-27 INT
Work | Laptop | HP ZBook Fury 15.6 G8 | Win11 22H2 | i9-11900H / RTX A4000 / 32GB
Personal | PC | Win10 | i7-6700K / GTX 1070 / 32 GB

It's not so easy with round things, as you already saw.

It gets even more complex if you have a round hole in a round plate:



put \
	rad_, 0, 79,
	0, 0, 900,
	0, 180, 4000+79,
	0, 180, 4000+79,
	rad_, 0, -1,           !// end of round base plate
	rad_inner, 0, 600+79,  !// start of hole
	0, 180, 4000+79,
	0, 180, 4000+79,
	rad_inner, 0, -1

prism_ nsp/3, ZZYZX,



The trick is to not use full circles but arcs (half circles).

This allows us to define start and end points, which are necessary to put in all the status codes in right order affecting the right things.

Hope that helps!

Lucas Becker | AC 27 on Mac | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text |
«Furthermore, I consider that Carth... yearly releases must be destroyed»

Didn't find the answer?

Check other topics in this Forum

Back to Forum

Read the latest accepted solutions!

Accepted Solutions

Start a new conversation!