Documentation
About Archicad's documenting tools, views, model filtering, layouts, publishing, etc.
SOLVED!

Detail Marker Customization

srdavids
Booster

Hi All,

Has anyone had any luck creating custom detail markers? I'm trying to achieve the look of the markers below, but without having to resort to my current way of using a masking fill and separate autotext label to hide the marker head.

Screenshot 2025-01-28 at 1.21.12 PM.png

I tried digging around and editing an existing marker, but couldnt make any progress. I also tried making an object with the subtype of detail marker or section marker, but am just not familiar enough to get it to do what I want.

 

Any help or point in the right direction is appreciated.

 

Thanks

 

Operating system used: Mac Apple Silicon 14.7.2

14 REPLIES 14

Hey Barry,

 

Well, I seem to be missing something. I've added the script as you show in your screenshot, but now get an "Uninitialized Variable in the Master Script" error.

 

Nevermind - Ignore this comment, I realized my mistake of not actually getting the parameter/variable name right. Noodle brain with a 2 year old that doesnt sleep....Still dont quite have it working but ill look again tomorrow

 

Thanks again for your help.

All I did was open the marker object and 'save as' with a new name.

Then I opened the macro and saved that with a new name as well.

In the marker object amend the CALL statement so it has the new name of the macro,

Then I edited the macro as shown in previous image - created the new boolean parameter and added the new bit of script to use that parameter in the first line.

 

Then you need to tweak the interface script to show the new option (I never got that far, but it sounds like you did).

 

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

I'm SO close! I've got the Layout ID showing like I want it, I just can't quite get the interface working. @Barry Kelly thanks so much for the guidance and for sticking with me, if you want to bail here I totally get it. I'd happily put the object as-is in our template. If I could get the last bit of UI working, it would be the cherry on top.

 

Screenshot 2025-01-31 at 12.17.06 AM.png

 

I'm not sure why, but when I check the UI preview from the editor, it shows correctly and I get no errors:

Screenshot 2025-01-31 at 12.18.16 AM.png

 

But when I open the UI of the Detail Object, the Layout ID checkbox is missing:

Screenshot 2025-01-31 at 12.24.21 AM.png

 

Could be totally off base here, but my best guess is it might have something to do with this section from the Parameters scripts? but again, I dont understand what is happening here:

Screenshot 2025-01-31 at 12.55.47 AM.png

And my snippet from Interface, which doesnt quite work:

Screenshot 2025-01-31 at 12.32.53 AM.png

The layout ID only works when the detail is linked to a drawing on the layout.

Hence the AC_NoLinkMarker checks.

In any of the scripts where you see "bShowLayoutID", you need to add and identical bit of script for "bShowFirstLayoutID".

So add that parameter to the 'hideparameter' section in the parameter script.

 

If the preview of the interface is working, i am not sure why the actual object interface is not the same - unless you didn't save the object.

 

I can't look at it at the moment , but I will have a look this weekend.

 

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
Solution

I finally got it working!

 

Turns out I just needed to add the bFirstLayoutID parameter to the Detail Marker object as well...I had only added it in the BaseMarker_Macro parameters...

 

So a recap of the whole process:

 

  1. Copied and resaved BaseMarker_Macro to BaseMarker_Macro_Edited
  2. Copied and resaved Detail Marker 01 27 to Detail Marker 01 27 - Edited
  3. In the Detail Marker:
    1. Changed the call in Master Scripts panel to "BaseMarker_Macro_Edited"
    2. Added "bShowFirstLayoutID" parameter
  4. In BaseMarker_Macro_Edited:
    1. Added "bShowFirstLayoutID" parameter
    2. Under the Master Scripts panel, added this code within the 'if not (AC_NoLinkMarker)' then loop (starts at line 47 in my code):
if bShowFirstLayoutID & AC_ReferToDrawing then
		if contentFirstRow <> "" then
			stSeparator = " "
		else
			stSeparator = ""
		endif
		contentFirstRow = contentFirstRow + stSeparator + "<MARKERSHEETNUMBER_R>" + AC_DrawingGUID
	endif

5. In the Parameter Scripts panel, revised the if AC_NoLinkMarker then statement to (line 209 in my code):

if AC_NoLinkMarker then
	lock	"bShowReferenceID",
			"bShowDetailNameInFirstRow",
			"bShowDrawingID",
			"bShowDetailNameInSecondRow",
			"bShowFirstLayoutID",
			"bShowLayoutID"

	hideparameter	"bShowReferenceID",
					"bShowDetailNameInFirstRow",
					"bShowDrawingID",
					"bShowFirstLayoutID",
					"bShowDetailNameInSecondRow",
					"bShowLayoutID"
endif

6. In the Interface Scripts panel, added this code within the ui_outfield 'First Marker Text' section (line 388 in my code):

	ui_infield{3} "bShowFirstLayoutID",  x3, yCurr - 4, fullWidth - x3, infHeight,
		7, "", 0, 0,
		0, 0, 0, 0,
		0, `Show Layout ID`, 0,
		0, `Show Layout ID`, 1
	yCurr = yCurr + dy

 

7. Also in the Interface panel, I had to slightly modify some of the pixel widths of the "pageMarkerText:" so that some text isnt cut off. Here's what mine looks like:

! ===================================================================
"pageMarkerText":
! ===================================================================
	pageStartY	= 8
	dy			= 23
	_colWidth	= 297
	x1			= 1
	x2			= x1 + _colWidth + 2
	x3 			= x1 + 15
	infHeight	= 19
	infWidth	= 143
	outfHeight	= 15
	fullWidth 	= 443
	buttWidth	= 34
	buttHeight	= 20

 

Again, thanks so much for the help @Barry Kelly, I learned a ton - Hope this helps anyone that is looking to edit their marker....

Setup info provided by author