Simple Custom Window Marker
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2014-11-14
12:34 PM
- last edited on
2023-05-24
12:32 PM
by
Rubia Torres

The marker I need to look like this:
HOTSPOT2 x,y !upper left corner of the marker HOTSPOT2 x,y !upper right corner of the marker HOTSPOT2 x,y !bottom left corner of the marker HOTSPOT2 x,y !bottom right corner of the marker WINDOW ID !The name of the LIBRARY PART not the ID from "Tags&Categories" ROUGH OPENING OF THE WINDOW !Separated with an "X" symbol CUSTOM TEXT 1 (OPTIONAL) CUSTOM TEXT 2 (OPTIONAL) CUSTOM TEXT 3 (OPTIONAL)Finally, in order the marker to placed properly according to the window position, the script must recognize if "CUSTOM TEXT" is present in order to rearrange the hotspots.
I would really appreciate some help with this!! I'm lost within GDL reference guide/reference books & examples over the last 4 days without any noticeable progress....
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2014-11-14 04:45 PM
Without more information is kind of difficult to provide help; but by the looks of what you need, it shouldn't be that hard... being simple text.
So make a new marker object. AC will provide some standard parameters you can use to get some info. You can get the name of the Library Part with a REQUEST function.
The thing about the script adjusting the hotspots... this is where you use the strings->paragraphs->text blocks->richtext2 concept to define what you will show. You can then get the width and height of the whole thing and use that to place hotspots in the correct position.
Hope this helps set you in the right direction.
Best regards.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2014-11-14 05:03 PM


Anyway, thank you for your directions, I'll try it within the weekend and see if I can get any results with the REQUEST function and the paragraphs->text blocks->richtext2 concept... Probably I'm gonna come back with more questions hahahahahaha
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2014-11-16 09:36 PM

After spending a lot of hours trying to create my custom label I realized that my effort was hopeless. Thankfully I found that a prefixed archicad marker named "Window Stamp 17" was very similar to my needs (for some reason I had to download again the marker from graphisoft in order to work), so I desided to copy it and change it. In the attached image you can see on the left the marker with the default settings and on the right the marker after my changes (I will remove also the lines when it's finished but I left them ON for now so that you can have a better idea about the cells).
As you can see my marker includes:
1. Object ID
2. Rough Opening
3. Custom Text 1
4. Custom Text 2
(5)Custom Text 3 it's invisible because although I added it on the parameters I don't know how to add it on the master script.
My questions now and please bear with me:
1. the code that defines the Object ID in master script is this
if iIDText = VALUE_AUTOMATIC then strIDValue = AC_WIDO_IDand also I found this inside Scripts/Parameter
! ============================================================================= ! ID ! ============================================================================= values "strIDText" stAutoCustom values "iIDText" VALUE_AUTOMATIC, VALUE_CUSTOM if GLOB_MODPAR_NAME = "strIDText" then iIDText = VALUE_AUTOMATIC if strIDText = stAutoCustom[2] then iIDText = VALUE_CUSTOM parameters iIDText = iIDText else strIDText = stAutoCustom[1] if iIDText = VALUE_CUSTOM then strIDText = stAutoCustom[2] parameters strIDText = strIDText endif if iIDText = VALUE_AUTOMATIC then ! automatic ! strIDValue got value in master script parameters strIDValue = strIDValue lock "strIDValue" endifmy problem is that I need the ID to use the name from the library part and not from "Tags&Categories" inside the window. Any ideas??
2. How to include an extra line with Custom Text 3 in the marker and how can I merge the two different cells on custom texts into one?
The master script is this
! ------------------------------------------------------------------------------- ! Fill box array, get stamp width ! ------------------------------------------------------------------------------- dim strings2d[][2] dim lengthValues2d[][2] dim dimensionType[] numLinesInBox = bShowWallholeDim + bShowUnitDim + bShowFire + bShowAcoustic + \ bShowUValue + bShowMaterial + bShowHardware if bWindow then numLinesInBox = numLinesInBox + bShowRevealDim + bShowSill + bShowCust1 + bShowCust2 else numLinesInBox = numLinesInBox + bShowEgressDim + bShowThreshold + bShowHandle + bShowCust endif if numLinesInBox > 0 then strings2d[numLinesInBox][2] = "" lengthValues2d[numLinesInBox][2] = -9999 dimensionType[numLinesInBox] = 0 endif style "boxStyleLeft" boxSpaceWidth = stw(" ") / 1000 * GLOB_SCALE actLine = 1 columnWidth = 0 if bShowWallholeDim then if iWHDimText = DIM_MEASURED then strings2d[actLine][1] = strWHPrefix strings2d[actLine][2] = "" lengthValues2d[actLine][1] = wallholeWidth lengthValues2d[actLine][2] = wallholeHeight dimensionType[actLine] = UNITTYPE_WIDO_DIM else strings2d[actLine][1] = strWHPrefix strings2d[actLine][2] = strWHDimValue lengthValues2d[actLine][1] = 0 lengthValues2d[actLine][2] = 0 dimensionType[actLine] = 0 endif columnWidth = max(columnWidth, stw(" " + strWHPrefix + " ")) columnWidth = max(columnWidth, stw(" " + strWHDimValue + " ")) actLine = actLine + 1 endif if bShowUnitDim then if iUnitDimText = DIM_MEASURED then strings2d[actLine][1] = strUnitPrefix strings2d[actLine][2] = "" lengthValues2d[actLine][1] = unitWidth lengthValues2d[actLine][2] = unitHeight dimensionType[actLine] = UNITTYPE_WIDO_DIM else strings2d[actLine][1] = strUnitPrefix strings2d[actLine][2] = strUnitDimValue lengthValues2d[actLine][1] = 0 lengthValues2d[actLine][2] = 0 dimensionType[actLine] = 0 endif columnWidth = max(columnWidth, stw(" " + strUnitPrefix + " ")) columnWidth = max(columnWidth, stw(" " + strUnitDimValue + " ")) actLine = actLine + 1 endif if bWindow and bShowRevealDim then if iRevealDimText = DIM_MEASURED then strings2d[actLine][1] = strRevealPrefix strings2d[actLine][2] = "" lengthValues2d[actLine][1] = revealWidth lengthValues2d[actLine][2] = revealHeight dimensionType[actLine] = UNITTYPE_WIDO_DIM else strings2d[actLine][1] = strRevealPrefix strings2d[actLine][2] = strRevealDimValue lengthValues2d[actLine][1] = 0 lengthValues2d[actLine][2] = 0 dimensionType[actLine] = 0 endif columnWidth = max(columnWidth, stw(" " + strRevealPrefix + " ")) columnWidth = max(columnWidth, stw(" " + strRevealDimValue + " ")) actLine = actLine + 1 endif if not(bWindow) and bShowEgressDim then if iEgressDimText = DIM_MEASURED then strings2d[actLine][1] = strEgressPrefix strings2d[actLine][2] = "" lengthValues2d[actLine][1] = egressWidth lengthValues2d[actLine][2] = egressHeight dimensionType[actLine] = UNITTYPE_WIDO_DIM else strings2d[actLine][1] = strEgressPrefix strings2d[actLine][2] = strEgressDimValue lengthValues2d[actLine][1] = 0 lengthValues2d[actLine][2] = 0 dimensionType[actLine] = 0 endif columnWidth = max(columnWidth, stw(" " + strEgressPrefix + " ")) columnWidth = max(columnWidth, stw(" " + strEgressDimValue + " ")) actLine = actLine + 1 endif if bWindow and bShowSill then if iSillText = DIM_MEASURED then strings2d[actLine][1] = strSillPrefix strings2d[actLine][2] = "" lengthValues2d[actLine][1] = sillHeight lengthValues2d[actLine][2] = 0 dimensionType[actLine] = UNITTYPE_SILL_DIM else strings2d[actLine][1] = strSillPrefix strings2d[actLine][2] = strSillValue lengthValues2d[actLine][1] = 0 lengthValues2d[actLine][2] = 0 dimensionType[actLine] = 0 endif columnWidth = max(columnWidth, stw(" " + strSillPrefix + " ")) columnWidth = max(columnWidth, stw(" " + strSillValue + " ")) actLine = actLine + 1 endif if not(bWindow) and bShowThreshold then if iThresholdText = DIM_MEASURED then strings2d[actLine][1] = strThresholdPrefix strings2d[actLine][2] = "" lengthValues2d[actLine][1] = thresholdHeight lengthValues2d[actLine][2] = 0 dimensionType[actLine] = UNITTYPE_SILL_DIM else strings2d[actLine][1] = strThresholdPrefix strings2d[actLine][2] = strThresholdValue lengthValues2d[actLine][1] = 0 lengthValues2d[actLine][2] = 0 dimensionType[actLine] = 0 endif columnWidth = max(columnWidth, stw(" " + strThresholdPrefix + " ")) columnWidth = max(columnWidth, stw(" " + strThresholdValue + " ")) actLine = actLine + 1 endif if bShowFire then strings2d[actLine][1] = strFirePrefix strings2d[actLine][2] = strFireValue lengthValues2d[actLine][1] = 0 lengthValues2d[actLine][2] = 0 dimensionType[actLine] = 0 columnWidth = max(columnWidth, stw(" " + strFirePrefix + " ")) columnWidth = max(columnWidth, stw(" " + strFireValue + " ")) actLine = actLine + 1 endif if bShowAcoustic then strings2d[actLine][1] = strAcousticPrefix strings2d[actLine][2] = strAcousticValue lengthValues2d[actLine][1] = 0 lengthValues2d[actLine][2] = 0 dimensionType[actLine] = 0 columnWidth = max(columnWidth, stw(" " + strAcousticPrefix + " ")) columnWidth = max(columnWidth, stw(" " + strAcousticValue + " ")) actLine = actLine + 1 endif if bShowUValue then strings2d[actLine][1] = strUValuePrefix strings2d[actLine][2] = strUValueValue lengthValues2d[actLine][1] = 0 lengthValues2d[actLine][2] = 0 dimensionType[actLine] = 0 columnWidth = max(columnWidth, stw(" " + strUValuePrefix + " ")) columnWidth = max(columnWidth, stw(" " + strUValueValue + " ")) actLine = actLine + 1 endif if bShowMaterial then strings2d[actLine][1] = strMaterialPrefix strings2d[actLine][2] = strMaterialValue lengthValues2d[actLine][1] = 0 lengthValues2d[actLine][2] = 0 dimensionType[actLine] = 0 columnWidth = max(columnWidth, stw(" " + strMaterialPrefix + " ")) columnWidth = max(columnWidth, stw(" " + strMaterialValue + " ")) actLine = actLine + 1 endif if bShowHardware then strings2d[actLine][1] = strHardwarePrefix strings2d[actLine][2] = strHardwareValue lengthValues2d[actLine][1] = 0 lengthValues2d[actLine][2] = 0 dimensionType[actLine] = 0 columnWidth = max(columnWidth, stw(" " + strHardwarePrefix + " ")) columnWidth = max(columnWidth, stw(" " + strHardwareValue + " ")) actLine = actLine + 1 endif if bWindow and bShowCust1 then strings2d[actLine][1] = strCust1Prefix strings2d[actLine][2] = strCust1Value lengthValues2d[actLine][1] = 0 lengthValues2d[actLine][2] = 0 dimensionType[actLine] = 0 columnWidth = max(columnWidth, stw(" " + strCust1Prefix + " ")) columnWidth = max(columnWidth, stw(" " + strCust1Value + " ")) actLine = actLine + 1 endif if bWindow and bShowCust2 then strings2d[actLine][1] = strCust2Prefix strings2d[actLine][2] = strCust2Value lengthValues2d[actLine][1] = 0 lengthValues2d[actLine][2] = 0 dimensionType[actLine] = 0 columnWidth = max(columnWidth, stw(" " + strCust2Prefix + " ")) columnWidth = max(columnWidth, stw(" " + strCust2Value + " ")) actLine = actLine + 1 endif if not(bWindow) and bShowHandle then strings2d[actLine][1] = strHandlePrefix strings2d[actLine][2] = strHandleValue lengthValues2d[actLine][1] = 0 lengthValues2d[actLine][2] = 0 dimensionType[actLine] = 0 columnWidth = max(columnWidth, stw(" " + strHandlePrefix + " ")) columnWidth = max(columnWidth, stw(" " + strHandleValue + " ")) actLine = actLine + 1 endif if not(bWindow) and bShowCust then strings2d[actLine][1] = strCustPrefix strings2d[actLine][2] = strCustValue lengthValues2d[actLine][1] = 0 lengthValues2d[actLine][2] = 0 dimensionType[actLine] = 0 columnWidth = max(columnWidth, stw(" " + strCustPrefix + " ")) ! mm, paper size columnWidth = max(columnWidth, stw(" " + strCustValue + " ")) actLine = actLine + 1 endif style "headerStyle" IDWidth = stw(" " + strIDValue + " ") ! mm, paper size IDSpaceWidth = stw(" ") / 1000 * GLOB_SCALE minStampWidth = max(IDWidth, 2 * columnWidth) ! mm, paper size n = request("Height_of_style", "headerStyle", sh) minIDLineSpacing = sh ! mm, paper size n = request("Height_of_style", "boxStyleLeft", sh) minDetailLineSpacing = sh ! mm, paper size if iStampWidth = VALUE_AUTOMATIC then stampWidth = minStampWidth / 1000 * GLOB_SCALE else stampWidth = stampWidth_mm / 1000 * GLOB_SCALE endif if iIDLineSpacing = VALUE_AUTOMATIC then headerHeight = minIDLineSpacing / 1000 * GLOB_SCALE else headerHeight = IDLineSpacing_mm / 1000 * GLOB_SCALE endif if iDetailLineSpacing = VALUE_AUTOMATIC then lineHeight = minDetailLineSpacing / 1000 * GLOB_SCALE else lineHeight = detailLineSpacing_mm / 1000 * GLOB_SCALE endif stampHeight = headerHeight + numLinesInBox * lineHeightI found also some code inside scripts/interface that refers to Custom Text 1&2
! ============================================================================= ! Content by Scale ! ============================================================================= ui_page 1 y = y0 y2 = y0 + 130 dy = 20 x0 = 1 x1 = 215 xsep = 222 x2 = 230 x3 = 443 xwidth = 136 ui_style 0, 1 ui_outfield `Detail Level`, x0, y, 100, 16 ui_infield{3} "iDetLevel", x0+101, y, 150, 16, 8, "", 0, 0, cx, cy, px, py, "", stDetLevels[1], DETLEV_SCALESENS, "", stDetLevels[2], DETLEV_DETAILED, "", stDetLevels[3], DETLEV_SIMPLE y = y + dy + 1 ui_separator 0, y, 444, y ui_separator 0, y2 - 4, 444, y2 - 4 y = y + 4 if bMetricDimensionNeeded then ui_outfield `Show up to 1:50`, x0, y, x1-x0-1, 16 ui_outfield `Show from 1:50`, x0, y2, x3-x2-1, 16 else ui_outfield `Show in Detailed`, x0, y, x1-x0-1, 16 ui_outfield `Show in Middle and Simple`, x0, y2, x3-x2-1, 16 endif ui_style 1, 0 dim paramNames[3][4] paramNames[1][1] = "bShowID" ! "bShowID_detailed" "bShowID_simple" paramNames[1][2] = "bShowWallholeDim" ! "bShowWallholeDim_detailed" "bShowWallholeDim_simple" paramNames[1][3] = "bShowUnitDim" ! "bShowUnitDim_detailed" "bShowUnitDim_simple" if bWindow then paramNames[1][4] = "bShowRevealDim" ! "bShowRevealDim_detailed" "bShowRevealDim_simple" paramNames[2][1] = "bShowSill" ! "bShowSill_detailed" "bShowSill_simple" else paramNames[1][4] = "bShowEgressDim" ! "bShowEgressDim_detailed" "bShowEgressDim_simple" paramNames[2][1] = "bShowThreshold" ! "bShowThreshold_detailed" "bShowThreshold_simple" endif paramNames[2][2] = "bShowFire" ! "bShowFire_detailed" "bShowFire_simple" paramNames[2][3] = "bShowAcoustic" ! "bShowAcoustic_detailed" "bShowAcoustic_simple" paramNames[2][4] = "bShowUValue" ! "bShowUValue_detailed" "bShowUValue_simple" paramNames[3][1] = "bShowMaterial" ! "bShowMaterial_detailed" "bShowMaterial_simple" paramNames[3][2] = "bShowHardware" ! "bShowHardware_detailed" "bShowHardware_simple" if bWindow then paramNames[3][3] = "bShowCust1" ! "bShowCust1_detailed" "bShowCust1_simple" paramNames[3][4] = "bShowCust2" ! "bShowCust2_detailed" "bShowCust2_simple" else paramNames[3][3] = "bShowHandle" ! "bShowHandle_detailed" "bShowHandle_simple" paramNames[3][4] = "bShowCust" ! "bShowCust_detailed" "bShowCust_simple" endif dim paramDesc[3][4] paramDesc[1][1] = `ID` paramDesc[1][2] = `Wallhole Dimensions` paramDesc[1][3] = `Unit Dimensions` if bWindow then paramDesc[1][4] = `Reveal Dimensions` paramDesc[2][1] = `Sill Height` else paramDesc[1][4] = `Egress Dimensions` paramDesc[2][1] = `Threshold Height` endif paramDesc[2][2] = `Fire Rating` paramDesc[2][3] = `Acoustic Rating` paramDesc[2][4] = `U-value` paramDesc[3][1] = `Material` paramDesc[3][2] = `Hardware Set` if bWindow then paramDesc[3][3] = `Custom Text 1` paramDesc[3][4] = `Custom Text 2` else paramDesc[3][3] = `Handle` paramDesc[3][4] = `Custom Text` endif y = y + dy - 1 y2 = y2 + dy - 1 for i = 1 to 3 for j =1 to 4 NameSuffix = "_detailed" ypos = y for k =1 to 2 ui_infield{4} paramNamesand+ NameSuffix, x0, ypos, xwidth, 16, 7, "", 0, 0, 0, 0, 0, 0, "", paramDesc , 0, "", paramDesc , 1 NameSuffix = "_simple" ypos = y2 next k y = y + dy y2 = y2 + dy next j x0 = x0 + 148 y = 76 y2 = y +105 if i < 3 then ui_separator x0 - 5 , y, x0 - 5, y - 5 + 4*dy ui_separator x0 - 5 , y2, x0 - 5, y2 - 5 + 4*dy endif next i !ui_infield{3} "bShowID_detailed", x0, y, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `ID`, 0, ! "", `ID`, 1 ! !ui_infield{3} "bShowID_simple", x0, y2, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `ID`, 0, ! "", `ID`, 1 ! !y = y + dy !y2 = y2 + dy ! !ui_infield{3} "bShowWallholeDim_detailed", x0, y, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Wallhole Dimensions`, 0, ! "", `Wallhole Dimensions`, 1 ! !ui_infield{3} "bShowWallholeDim_simple", x0, y2, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Wallhole Dimensions`, 0, ! "", `Wallhole Dimensions`, 1 ! !y = y + dy !y2 = y2 + dy ! !ui_infield{3} "bShowUnitDim_detailed", x0, y, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Unit Dimensions`, 0, ! "", `Unit Dimensions`, 1 ! !ui_infield{3} "bShowUnitDim_simple", x0, y2, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Unit Dimensions`, 0, ! "", `Unit Dimensions`, 1 ! !y = y + dy !y2 = y2 + dy ! !if bWindow then ! ui_infield{3} "bShowRevealDim_detailed", x0, y, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Reveal Dimensions`, 0, ! "", `Reveal Dimensions`, 1 ! ! ui_infield{3} "bShowRevealDim_simple", x0, y2, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Reveal Dimensions`, 0, ! "", `Reveal Dimensions`, 1 ! ! y = y + dy !else ! ui_infield{3} "bShowEgressDim_detailed", x0, y, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Egress Dimensions`, 0, ! "", `Egress Dimensions`, 1 ! ! ui_infield{3} "bShowEgressDim_simple", x0, y2, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Egress Dimensions`, 0, ! "", `Egress Dimensions`, 1 ! !endif ! !x0 = x0 + 148 !y = 76 !y2 = y +105 ! !ui_separator x0 - 5 , y, x0 - 5, y - 5 + 4*dy !ui_separator x0 - 5 , y2, x0 - 5, y2 - 5 + 4*dy ! !if bWindow then ! ui_infield{3} "bShowSill_detailed", x0, y, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Sill Height`, 0, ! "", `Sill Height`, 1 ! ! ui_infield{3} "bShowSill_simple", x0, y2, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Sill Height`, 0, ! "", `Sill Height`, 1 !else ! ui_infield{3} "bShowThreshold_detailed", x0, y, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Threshold Height`, 0, ! "", `Threshold Height`, 1 ! ! ui_infield{3} "bShowThreshold_simple", x0, y2, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Threshold Height`, 0, ! "", `Threshold Height`, 1 !endif ! !y = y + dy !y2 = y2 + dy ! !ui_infield{3} "bShowFire_detailed", x0, y, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Fire Rating`, 0, ! "", `Fire Rating`, 1 ! !ui_infield{3} "bShowFire_simple", x0, y2, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Fire Rating`, 0, ! "", `Fire Rating`, 1 ! !y = y + dy !y2 = y2 + dy ! !ui_infield{3} "bShowAcoustic_detailed", x0, y, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Acoustic Rating`, 0, ! "", `Acoustic Rating`, 1 ! !ui_infield{3} "bShowAcoustic_simple", x0, y2, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Acoustic Rating`, 0, ! "", `Acoustic Rating`, 1 ! !y = y + dy !y2 = y2 + dy ! !ui_infield{3} "bShowUValue_detailed", x0, y, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `U-value`, 0, ! "", `U-value`, 1 ! !ui_infield{3} "bShowUValue_simple", x0, y2, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `U-value`, 0, ! "", `U-value`, 1 ! !x0 = x0 + 148 !y = 76 !y2 = y +105 ! !ui_separator x0 - 5 , y, x0 - 5, y - 5 + 4*dy !ui_separator x0 - 5 , y2, x0 - 5, y2 - 5 + 4*dy ! !ui_infield{3} "bShowMaterial_detailed", x0, y, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Material`, 0, ! "", `Material`, 1 ! !ui_infield{3} "bShowMaterial_simple", x0, y2, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Material`, 0, ! "", `Material`, 1 ! !y = y + dy !y2 = y2 + dy ! !ui_infield{3} "bShowHardware_detailed", x0, y, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Hardware Set`, 0, ! "", `Hardware Set`, 1 ! !ui_infield{3} "bShowHardware_simple", x0, y2, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Hardware Set`, 0, ! "", `Hardware Set`, 1 ! !y = y + dy !y2 = y2 + dy ! !if bWindow then ! ui_infield{3} "bShowCust1_detailed", x0, y, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Custom Text 1`, 0, ! "", `Custom Text 1`, 1 ! ! ui_infield{3} "bShowCust1_simple", x0, y2, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Custom Text 1`, 0, ! "", `Custom Text 1`, 1 !else ! ui_infield{3} "bShowHandle_detailed", x0, y, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Handle`, 0, ! "", `Handle`, 1 ! ! ui_infield{3} "bShowHandle_simple", x0, y2, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Handle`, 0, ! "", `Handle`, 1 !endif ! !y = y + dy !y2 = y2 + dy ! !if bWindow then ! ui_infield{3} "bShowCust2_detailed", x0, y, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Custom Text 2`, 0, ! "", `Custom Text 2`, 1 ! ! ui_infield{3} "bShowCust2_simple", x0, y2, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Custom Text 2`, 0, ! "", `Custom Text 2`, 1 !else ! ui_infield{3} "bShowCust_detailed", x0, y, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Custom Text`, 0, ! "", `Custom Text`, 1 ! ! ui_infield{3} "bShowCust_simple", x0, y2, xwidth, 16, ! 7, "", ! 0, 0, ! 0, 0, 0, 0, ! "", `Custom Text`, 0, ! "", `Custom Text`, 1 !endif
! ============================================================================= ! Content 3 ! ============================================================================= ui_page 4 y = 40 dy = 27 x1 = 1 x2 = 15 x3 = 180 x4 = 310 x5 = 325 x6 = 440 ui_style 0, 1 ui_outfield `Material`, x1, y, x3-x1-1, 18 ui_style 0, 0 ui_infield{3} "iMaterialText", x3, y-3, x4-x3, 20, 8, "", 0, 0, 0, 0, 0, 0, "", stMaterials[1], 1, "", stMaterials[2], 2, "", stMaterials[3], 3, "", stMaterials[4], 4 ui_infield "strMaterialValue", x5, y-3, x6-x5, 20 y = y + dy ui_outfield `Item Name`, x2, y, x3-x2-1, 18 ui_infield "strMaterialPrefix", x3, y-3, x4-x3, 20 y = y + dy ui_style 0, 1 ui_outfield `Hardware Set`, x1, y, x3-x1-1, 18 ui_style 0, 0 ui_infield{3} "iHardwareText", x3, y-3, x4-x3, 20, 8, "", 0, 0, 0, 0, 0, 0, "", stAutoCustom[1], VALUE_AUTOMATIC, "", stAutoCustom[2], VALUE_CUSTOM ui_infield "strHardwareValue", x5, y-3, x6-x5, 20 y = y + dy ui_outfield `Item Name`, x2, y, x3-x2-1, 18 ui_infield "strHardwarePrefix", x3, y-3, x4-x3, 20 y = y + dy if bWindow then ui_style 0, 1 ui_outfield `Custom Text 1`, x1, y, x3-x1-1, 18 ui_style 0, 0 ui_outfield `Item Name 1`, x3, y, x4-x3, 20 ui_infield "strCust1Prefix", x5, y-3, x6-x5, 20 y = y + dy ui_outfield `Text 1`, x3, y, x4-x3, 20 ui_infield "strCust1Value", x5, y-3, x6-x5, 20 y = y + dy ui_style 0, 1 ui_outfield `Custom Text 2`, x1, y, x3-x1-1, 18 ui_style 0, 0 ui_outfield `Item Name 2`, x3, y, x4-x3, 20 ui_infield "strCust2Prefix", x5, y-3, x6-x5, 20 y = y + dy ui_outfield `Text 2`, x3, y, x4-x3, 20 ui_infield "strCust2Value", x5, y-3, x6-x5, 20 y = y + dy else ui_style 0, 1 ui_outfield `Handle`, x1, y, x3-x1-1, 18 ui_style 0, 0 ui_outfield `Item Name`, x3, y, x4-x3, 20 ui_infield "strHandlePrefix", x5, y-3, x6-x5, 20 y = y + dy ui_outfield `Text`, x3, y, x4-x3, 20 ui_infield "strHandleValue", x5, y-3, x6-x5, 20 y = y + dy ui_style 0, 1 ui_outfield `Custom Text`, x1, y, x3-x1-1, 18 ui_style 0, 0 ui_outfield `Item Name`, x3, y, x4-x3, 20 ui_infield "strCustPrefix", x5, y-3, x6-x5, 20 y = y + dy ui_outfield `Text`, x3, y, x4-x3, 20 ui_infield "strCustValue", x5, y-3, x6-x5, 20 y = y + dy endifI know I'm asking tooo much but if someone has the time and the mood to have a look, I would really appreciate it!!!
Thanks in advance

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2014-11-19 04:12 PM
Thanks:)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2014-11-19 06:00 PM
Like I said, use the REQUEST function. Read the description of
REQUEST ("ASSOCLP_NAME", "", name)in the GDL reference guide (and the other request functions) to see if it is what you need.
Best regards.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2014-11-19 08:39 PM
if iIDText = VALUE_AUTOMATIC then objectid = "" !objectid is a random name that I picked rrr = request("LIBRARY_PART_NAME", "", name) if rrr then objectid = name strIDValue = objectid endifThe question that I have now is: should I create also a parameter on the objects parameters window for any of the "LIBRARY_PART_NAME" / "name" and "objectid" ?
The "strIDValue" is a text parameter with a value of "wind-34" (prefixed by archicad).
When I check the script I get this message : 'Uninitialized variable at line 193'
Line 193 is this line
if rrr then objectid = nameThanks for your patience!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2014-11-19 09:45 PM
The request function is, again:
REQUEST ("ASSOCLP_NAME", "", name)that may stand for "ASSOCiatedLibraryPart_NAME" if I'm not mistaken
NOT:
REQUEST ("LIBRARY_PART_NAME", "", name)which I don't think exists.
Try that before anything else.
To answer your question: no unless you are going to schedule the parameter from the marker, which I see no point in doing.
The "strIDValue" is just a text parameter in case you don't want the automatic ID and you want to write your own (I'm assuming a lot of this without taking a deeper look, ok?).
I cannot try it myself, but it looks like you are changing the parameter script without changing the master script; and it is there where the object ID is called as you said:
if iIDText = VALUE_AUTOMATIC then strIDValue = AC_WIDO_IDSo in master script, add the request before the line if you want it to show the library part name instead of the window ID:
name="" rrr = request("ASSOCLP_NAME", "", name) if iIDText = VALUE_AUTOMATIC then strIDValue = nameBeware this may break something else.

Best regards.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2014-11-19 10:30 PM
Originally I typed the request as you said in your previous message ("ASSOCLP_NAME", "", name) but affter I got an error message I tried different things and messed up again the code

Oh, and by the way all this time I was working on the master script. In 2d script there was not any code regarding the ID of the object....
Thanks a lot!!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2014-11-19 10:58 PM
Best regards.