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

Can I use Status Codes in a PUT command?

tsturm
Newcomer
I am trying to create a shape that has rounded edges. I wanted to use the PUT and GET or USE commands to use the data set over and over as there does not seem to be a way to control the edges of a fill pattern other than to create two fills. One as empty and the other without an edge.

What I would really like is a POLY2_C n, framefill, fillpen, fillbkgdpen, edgepen, x, y, mask, ect .....

Then I would not have to create the two nearly identical poly commands just so that I can control the pens of the fill's edges. I mean this is so do able in the regular drawing area, I am suprised that GS did not make this an option in the POLY command.

So I tried to use the Parameter Buffer to store the data of the POLY command. Things seemed to be going along great as along as the shape had pointed corners. Once I tried to insert the Status Code for a corner, the software no longer gave me a shape. So HOW AM I TO MAKE MY SHAPES? It seems I am back to my old method of two POLYs. One for the edge and the other for the fill.

Unless someone has a better Idea !!@@!!
Terrence Sturm, Architect
_______________
MBP OSX 10.15.4 Quad Core Intel i7 2.2hz
AC 17 build 5019
AC 22 build 7000
AC 23 build
AC 24 build 5000
3 REPLIES 3

Pen firstPen
GOSUB 100
PEN secondPen
GOSUB 100

END

100:!shape
PUT x, y, s,
...

POLY2_ NSP/3,3,!<--frame_fill: 3=show fill and edge
GET(NSP)
If I understand your question. Naturally, you would modify for POLY2_A, -_B, etc, and add the arguments.

For the POLY2 commands, the contour pen comes from the current PEN directive, or the default pen, assuming frame_fill=1 or 3, and the status at a given segment is 1.

I don't know why PUTting the statuses isn't working. It certainly should. The only allowed statuses for POLY2_ are 0, 1, -1. No 15s or anything like that. If you get a 'too many' or 'not enough' parameters error, make sure you have the proper arguments for the POLY2 in question.

Post your shape points, maybe I can help more.

HTH,
James Murray

Archicad 27 • Rill Architects • macOS • OnLand.info
tsturm
Newcomer
James

As it turns out my problem with the Status Codes was I was trying to use the Code 1000 for a tangental corner but I had not yet established a chord or vector for a tangent to be created from. I was trying to create a box with rounded corners and I forgot to start a line before the corner. DUH!!!

Then the other part of the issue. The POLY2 command.. For a long time I have been using two POLY2 commands to deal with the lack of control of the bounding edge of the fill. I have been using the POLY2 or POLY2_ commands with a PEN defination before each POLY2 command to get control over the color.

today I tried to use the POLY2_B command as I wanted to use the Background fill color. I found that the pen defination which I had set to call it pen 2 was showing up as pen 5. I sat there going where the #$%%#@@@#$$%!!! was this coming from. There could be no way that my pen defination of pen 2 could be showing up at pen 5. Yet there it was plain as day. So I want back to the plan area, selected the obejct and looked at the pen setting in the settings box. Sure enough. There it was, Pen 5. So in fact the pen setting for the outer edge of a POLY2_A or POLY2_B will be controlled by the settings box and not by a script unless perhaps there is a SET PEN command prior to the POLY2 command. Then you can still control it.

I like the idea of being able to quickly change the outlying pen from the info box. I am afraid of the people who are going to be using my parts. Will they have the practice to make sure they are not using some non comforming standard when they drop the part on the drawing? Will they stick to the office standards?

I may continue doing it my old way. With the two definations of the POLY2 for my fill. This way I can establish the lines and colors for the object better.
Terrence Sturm, Architect
_______________
MBP OSX 10.15.4 Quad Core Intel i7 2.2hz
AC 17 build 5019
AC 22 build 7000
AC 23 build
AC 24 build 5000
tsturm wrote:
So in fact the pen setting for the outer edge of a POLY2_A or POLY2_B will be controlled by the settings box and not by a script unless perhaps there is a SET PEN command prior to the POLY2 command. Then you can still control it.
This is correct. Qualification: The object must be set to 'Use Symbol Colors'. If that's unchecked, the POLY2 will be drawn with the pen in the settings, along with all the other simple 2D elements (LINEs, etc.), regardless of your PEN directives.
tsturm wrote:
I am afraid of the people who are going to be using my parts. Will they have the practice to make sure they are not using some non comforming standard when they drop the part on the drawing? Will they stick to the office standards?
This is a difficult problem, because it is a training issue, not a library issue. As the writer it is beyond your responsibility. If you are also the CAD manager, it is back within your responsibility. There is some discussion here.

In my office we have a standard that the 'Use symbol Colors' box is always checked. ('Always' means 'Virtually Always'.) Note, this doesn't take away the ability to use the info box pen in the object... use the directive 'PEN L_'. Then you can use the info box pen when you want, or a hard coded pen, or a separate pen parameter, or any combination. It depends how much control you want to give people. But you lose control if they uncheck that box, so it has to be a rule.
James Murray

Archicad 27 • Rill Architects • macOS • OnLand.info