GDL
About building parametric objects with GDL.
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

2 ACCEPTED SOLUTIONS

Accepted Solutions
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....

View solution in original post

Solution

I just did it again and had exactly the same problem as you (I had the parameter in both macro and detail object).

But it seemed saving them a couple of time fixed it up.

I also stretched the interface window a bit as it was cropping the bottom.

I have attached my attempt (macro and object in zip file) if anyone else following wants it but does not want to do any GDL editing.

The license said we can modify and share.

 

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

View solution in original post

15 REPLIES 15
Barry Kelly
Moderator

Detail Marker 01 is in the default library.

 

BarryKelly_0-1738110171926.png

 

Is that what you want?

 

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! Thanks so much for the reply, it got me in the ballpark and actually your screenshot is what led me to the solution, albeit I have to use a slight workaround.

 

First - Ideally I want to actually be referencing the Layout ID. We do this because we use an 8.5x11 detail book where each 3" detail gets its own sheet. This is where I'm having to use a workaround that I don't love, but works until I figure out the ideal solution.

 

So the dividing line in the head will go away if nothing in "Second Marker Text" checked. If I check "Show Layout ID," the line returns as seen below:

Screenshot 2025-01-28 at 9.11.42 PM.png Screenshot 2025-01-28 at 9.07.49 PM.png

 

My workaround is that I can just change my Drawing ID to match the sheet number. The problem is, if I re-order my sheets or add details, I will have to manually change the Drawing ID to match

 

Screenshot 2025-01-28 at 9.08.41 PM.png

 

Second, here's a fun bug: In Dark mode, not all options are visible. (see Line Style and Text Rotation Options). Barry, your screenshot made me realize that I was not seeing every option. I work in dark mode so I had no idea...

 

Screenshot 2025-01-28 at 9.00.56 PM.png Screenshot 2025-01-28 at 9.01.19 PM.png

 

 

Anyway, this works for now - but if anyone knows a way to reference Layout ID AND get it to show centered in the circle, I'd be forever grateful.

 

Cheers

I wasn't looking at the content.

I just thought you wanted a straight line to the detail bubble.

 

I am not sure if it is possible to 'Save As' a custom marker, but you can certainly script your own in GDL.

That Detail 01 object obviously has layoutID as an option for the second line.

I don't see why it could not be re-scripted to be allowed on the first line.

Might be easier said than done though - I have not looked at the scripts.

 

I just tried adding <LAYOUTID> to the custom text field and crashed Archicad 3 times in doing so.

I am not sure if that is supposed to work or not.

 

As for dark mode, I wouldn't use it.

I don't think it works properly on Windows or Macs.

 

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

Totally my fault, I clearly left out some information in my first post.  Thanks for the follow up, I also had not heard about the Dark Mode bugs, but I see them now in the forums when I search....

 

When I try <LAYOUTID> in the custom field, I don't get a crash and I do get the autotext #LayID to appear in the marker, but it doesn't actually seem to be pulling the info...So close, yet so far!

Screenshot 2025-01-29 at 9.40.22 AM.png

I'm going to try experimenting with the BaseMarker Macro when I get a chance, see if I can blunder my way through getting what I want. I'll post back if I have any luck


@srdavids wrote:

I'm going to try experimenting with the BaseMarker Macro when I get a chance, see if I can blunder my way through getting what I want. I'll post back if I have any luck


I did have a quick look, but didn't get very far, just don't have the time to play around at the moment.

It must be possible.

If it can be an option for the second line, there should be no reason why it can't be an option for the first line as well.

 

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
Lingwisyer
Guru

t2 from Marker Linked Parameters macro?

AC22-28 AUS 3110Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win11 | i9 10850K | 64GB | RX6600 Win11 | R5 2600 | 16GB | GTX1660

Not sure what you mean @Lingwisyer - but I don't really know what Im doing with coding/GDL.

 

It looks like it's pulling the code for labeling the head from Basemarker_macro, but I dont know enough to make it happen. I was able to add a checkbox for "Show Layout ID" but I can't figure out how to add parameters to the macro nor how to implement it that so it functions in the script...

I did a quick test and got it to work, but I have not fixed up the interface - which you seem to have done.

Create a new parameter "bShowFirstLayoutID" if you want to have a separate layout ID text for both lines.

Now search the master script for the original parameter name "bShowLayoutID".

There will be a short section of script to use for the second line of text.

 

Copy this and past it into the section of script for the first line of text and alter the parameter name and where I have shown in image so it works for the first line.

 

BarryKelly_7-1738222574996.png

 

That and the change to the interface script should be all you need to do.

 

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

That is the parameter and macro that pulls the layout ID, though as Barry has shown, there is no need to go that deep...

 

ps. That is a lot of white space you've got there Barry.

 

Ling.

AC22-28 AUS 3110Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win11 | i9 10850K | 64GB | RX6600 Win11 | R5 2600 | 16GB | GTX1660

Setup info provided by author

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!