We value your input!
Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey

Libraries & objects
About Archicad and BIMcloud libraries, their management and migration, objects and other library parts, etc.

HPrism Contour Lines

JGoode
Expert
Hi,

I want to remove the contour line shown in the attached image but I want it to remain in elevations. It seems to have worked for the rest of the lines that I want but not the square on top.
HPRISM_ mat_prism, mat_prism, mat_prism, mat_prism, 
	17, (ZZYZX/2), 0,
	chamfer, 1,
	chamfer,		0,			78, 
    (A-chamfer),	0,			78, 
    (A-chamfer),	chamfer,	900, 
    0,				90,			4001, 
    A,				chamfer,	78, 
    A,				(B-chamfer),78, 
    (A-chamfer),	(B-chamfer),900, 
    0,				90,			4001, 
    (A-chamfer),	B,			78, 
    chamfer,		B,			78, 
    chamfer,		(B-chamfer),900, 
    0,				90,			4001, 
    0,				(B-chamfer),78, 
    0,				chamfer,	78, 
    chamfer,		chamfer,	900, 
    0,				90,			4001, 
    chamfer,		0,			78 
ArchiCAD 23

Windows 10
11 REPLIES 11
JGoode
Expert
For some reason I can't attach an image. It is half a box with a fillet applied to all edges. The contour line that I want removed is a square at the top before it begins to curve.
ArchiCAD 23

Windows 10
Barry Kelly
Moderator
It is the same masking as a standard PRISM.

A small trick is to create a mask value and then you can adjust one value and see how it affects your prism.
The last mask should be '-1' and the curves can be 4000 instead of 4001.

Try this ...
mask = 1*1+2*0+4*0+8*1+64*1

HPRISM_ mat_prism, mat_prism, mat_prism, mat_prism,
   17, (ZZYZX/2), 0,
   chamfer, 1,
   chamfer,      0,         mask,
    (A-chamfer),   0,         mask,
    (A-chamfer),   chamfer,   900,
    0,            90,         4000,
    A,            chamfer,   mask,
    A,            (B-chamfer),mask,
    (A-chamfer),   (B-chamfer),900,
    0,            90,         4000,
    (A-chamfer),   B,         mask,
    chamfer,      B,         mask,
    chamfer,      (B-chamfer),900,
    0,            90,         4000,
    0,            (B-chamfer),mask,
    0,            chamfer,   mask,
    chamfer,      chamfer,   900,
    0,            90,         4000,
    chamfer,      0,         -1 
Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
JGoode
Expert
Thanks for the reply Barry!
I don't understand why the mask value has to be so complex with all the multiplications? If you would be able to explain then that would be interesting to know.
What is the difference between 4000 and 4001?

Unfortunately I couldn't get it to do what I wanted it to do.

Thanks again.
ArchiCAD 23

Windows 10
Erwin Edel
Rockstar
Look up 'status codes' in the GDL Reference Guide, there is a fairly clear explanation about all the different numbers and what edges are hidden, shown etc for solid shapes, wireframes, curves etc etc

Starts at page 203 onwards.
Erwin Edel, Project Lead, Leloup Architecten
www.leloup.nl

ArchiCAD 9-26NED FULL
Windows 10 Pro
Adobe Design Premium CS5
JGoode
Expert
Erwin wrote:
Look up 'status codes' in the GDL Reference Guide, there is a fairly clear explanation about all the different numbers and what edges are hidden, shown etc for solid shapes, wireframes, curves etc etc

Starts at page 203 onwards.
I've had a good look through. It does make more sense. However, I don't think I am able to achieve what I want. For some reason I can make it invisible 3d but it then turns invisible in elevation/section too. There are other lines that aren't there in 3D but they appear in elevation/section which is exactly what I want. I just can't work it out.
ArchiCAD 23

Windows 10
Barry Kelly
Moderator
JGoode wrote:
I don't understand why the mask value has to be so complex with all the multiplications? If you would be able to explain then that would be interesting to know.
The mask value is just a series on number (I think they are called binary integers) that will turn on or off an edge or surface.
The multiplication part is just an easy way to operate the switch to say if it is on or off.

So...
1 is the lower edge (1*0 = off, 1*1 = on)
2 is the vertical edge (2*0 = off, 2*1 = on)
4 is the upper edge (4*0 = off, 4*1 = on)
8 is the surface face (8*0 = off, 8*1 = on)

1+2+4+8 = 15 ... so if you want all lines and surfaces on then set the mask for 15.

To turn the top lines off in your example, turn the 4 switch off so mask = 11

Because you have curved edges you can turn off the vertical edge (2) as well or you can leave it on and use +64 which is a special mask.
64 only works when 2 is on and will make a curved edge visible as you rotate your object - it basically creates a line that moves with the angle you are viewing from.
Just 2 on by itself (i.e.64 = 0) will create a fixed line that won't move with the viewing angle.

Each mask value is separate for each surface, so they can all be different.
They don't have to be the same for each node - so you can turn lines and surfaces on/off as you go around your element (prism).

JGoode wrote:
What is the difference between 4000 and 4001?
To be honest I don't really know.
It also controls visibility but I have never figured it out.
4000 shows all line but 4001 sometimes doesn't.

EXTRUDE 3, 1, 1, 3, 1+2+4+16+32,
0, 0, 900,
3, 360, 4001,
2, 360, 4000

The first 4001 hides the lines on the inside of the extrude, but 4001 on the outside doesn't have any affect.
4100 will cover over the top surface completely.
Values can be between 4000 and 4100, but I only see a difference between 4000, 4001 and 4100.
If anyone else can explain this one I would be grateful.

Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Barry Kelly
Moderator
JGoode wrote:
For some reason I can make it invisible 3d but it then turns invisible in elevation/section too.
If you can't see it in 3D you won't see it in elevation.
Elevations are just a 3D view from the side.
JGoode wrote:
There are other lines that aren't there in 3D but they appear in elevation/section which is exactly what I want. I just can't work it out.
This is probably due to the 64 mask value.

Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Barry Kelly
Moderator
Try this to see what the 64 mask does.
chamfer = 0.2

mask = 1*1+2*1+4*0+8*1+64*0

HPRISM_ mat_prism, mat_prism, mat_prism, mat_prism,
   17, (ZZYZX/2), 0,
   chamfer, 1,
   chamfer,      0,         mask,
    (A-chamfer),   0,         mask,
    (A-chamfer),   chamfer,   900,
    0,            90,         4000,
    A,            chamfer,   mask,
    A,            (B-chamfer),mask,
    (A-chamfer),   (B-chamfer),900,
    0,            90,         4000,
    (A-chamfer),   B,         mask,
    chamfer,      B,         mask,
    chamfer,      (B-chamfer),900,
    0,            90,         4000,
    0,            (B-chamfer),mask,
    0,            chamfer,   mask,
    chamfer,      chamfer,   900,
    0,            90,         4000,
    chamfer,      0,         -1

ADD A*1.5,0,0

mask = 1*1+2*1+4*0+8*1+64*1

HPRISM_ mat_prism, mat_prism, mat_prism, mat_prism,
   17, (ZZYZX/2), 0,
   chamfer, 1,
   chamfer,      0,         mask,
    (A-chamfer),   0,         mask,
    (A-chamfer),   chamfer,   900,
    0,            90,         4000,
    A,            chamfer,   mask,
    A,            (B-chamfer),mask,
    (A-chamfer),   (B-chamfer),900,
    0,            90,         4000,
    (A-chamfer),   B,         mask,
    chamfer,      B,         mask,
    chamfer,      (B-chamfer),900,
    0,            90,         4000,
    0,            (B-chamfer),mask,
    0,            chamfer,   mask,
    chamfer,      chamfer,   900,
    0,            90,         4000,
    chamfer,      0,         -1

DEL 1
Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Barry Kelly
Moderator
The 4000 mask is just an extension of the standard node mask in the element.
So for a PRISM_ the standard mask is 15+64, so you could substitute 4015+64 for your curved surfaces.
For an EXTRUDE the standard node mask is 0 or 1 so you could use 4000 or 4001 for the curved surfaces.

The mask takes effect on the surface following that node which is why in the EXTRUDE example I gave changing the second 4000 mask did nothing - there is nothing defined after it.
To affect the lines on the outside surface you would have change the 900 mask to 901 or possibly insert a starting node on the outer edge and set the mask for that to hide the lines.
EXTRUDE 3, 1, 1, 3, 1+2+4+16+32,
0, 0, 901,
3, 360, 4001,
2, 360, 4000
Barry
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11