zone stamp
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2004-10-11 10:47 AM
about zone stamp. i am trying to position the zone stamp information box but the zone stamp on the plan seems to move with it.
am i missing something here?
appreciate your help.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2004-10-11 12:48 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-08-09 02:13 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-08-09 04:20 AM
I know this is an old post, but I am having the same issue of not being able to have a mask behind the Zone Stamp Text. I am working in ArchiCAD 14. Can someone please help?
It depends on the zone stamp you are using. The standard AC14 stamp has settings that allow both the background fill and pen of the stamp to be adjusted. Look in the 2d Representation section of the settings.
If you have set these correctly and you are still not seeing the background fill, then check the Model View Options - you may have 'Override Drafting Fills' ticked.
Hope that helps.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-08-09 06:17 PM
However, I do have this customized stamp where the frame fits around the room # text. I don't see a "2D Representation" option for it. Is there a way to add in that parameter?
Please see the attached image of settings I have.
Thank you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-08-09 09:10 PM
However, I do have this customized stamp where the frame fits around the room # text. I don't see a "2D Representation" option for it. Is there a way to add in that parameter?
The background fill will just be a 2d polygon in the code that adjusts itself to the size of the text. The exact way it could be added to the code depends on how your zone stamp is coded, but I guess it should be *fairly* easy to do.
Can you post up the zone stamp so we can have a look at the code? Some nice person might even edit it for you depending on complexity!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-08-09 11:19 PM
if name=0 & bNumRoom=0 & num=0 & bExistOption=0 & bProposOption=0 & code=0 & area=0 & peri=0 & ceil_s=0 & bVolume=0 then end
! ==========================================================================================
! STYLE
! ==========================================================================================
! FontStyle
! ------------------------------------------------------------------------------------------
fontStyle = zonastyle
gosub 2000
zonasty = iFontStyle
fontStyle = styleNumRoom
gosub 2000
numRoomsty = iFontStyle
fontStyle = zonostyle
gosub 2000
zonosty = iFontStyle
fontStyle = codestyle
gosub 2000
codesty = iFontStyle
fontStyle = areastyle
gosub 2000
areasty = iFontStyle
fontStyle = peristyle
gosub 2000
peristy = iFontStyle
fontStyle = ceilhstyle
gosub 2000
ceilhsty = iFontStyle
fontStyle = volumeStyle
gosub 2000
VolumeSty = iFontStyle
! ------------------------------------------------------------------------------------------
! Define Style
! ------------------------------------------------------------------------------------------
define style "znamestyle" AC_TextFont_1, ROOM_LSIZE, jst, zonasty
define style "styleNumRoom" fontNumRoom, fontsizeao, jst, numRoomsty
define style "znumstyle" zonofont, fontsizeao, jst, zonosty
define style "arstyle" areafont, fontsizeao, jst, areasty
define style "codestyle" codefont, fontsizeao, jst, codesty
define style "pestyle" perifont, fontsizeao, jst, peristy
define style "chstyle" ceilhfont, fontsizeao, jst, ceilhsty
define style "VolStyle" volumeFont, fontsizeao, jst, VolumeSty
mul2 PAPER_TO_MODEL,PAPER_TO_MODEL
! ------------------------------------------------------------------------------------------
! Request
! ------------------------------------------------------------------------------------------
style znamestyle
rrr=request("Height_of_style","znamestyle", shight)
rrr=request("Height_of_style","znumstyle", shight2)
catname = ""
catcode = ""
rrr = request("Zone_category", "", catname, catcode)
Zname = ROOM_NAME
if cn_zn then Zname = catname !*** display Category Name as Zone name
if catcode = "0 BGF" then Zname = "Gross Area" !***prints "BGF" to the stamp
area_form = ""
rrr = request ("Area_dimension","",area_form)
room_area = str (area_form, ROOM_CALC_AREA)
lin_form = ""
rrr = request ("Linear_dimension","",lin_form)
room_height = str (lin_form , ROOM_HEIGHT)
room_perim = str (lin_form , ROOM_PERIM)
vol_form = ""
rrr = request ("Calc_volume_unit", "", vol_form)
room_volume = str (vol_form , ROOM_VOLUME)
unit = ""
area_unit = ""
lin_unit = ""
form = ""
vol_unit = ""
form = lin_form !*** Unit strings
gosub 1001
lin_unit = unit
form = area_form
gosub 1002
area_unit = unit
form = vol_form
gosub 1003
vol_unit = unit
room_area = "A: " + room_area + area_unit !*** composite strings
rrr = request ("Name_of_material", listCodeFloorMat, listCodeFloorMat )
rrr = request ("Name_of_material", listCodeWallMat , listCodeWallMat )
rrr = request ("Name_of_material", listCodeCeilMat , listCodeCeilMat )
if typeCodeMat = listCodeMat[1] then
if typeDisplayMat = `Horizontally` then
code_string = listCodeFloorMat + " " + listCodeWallMat + " " + listCodeCeilMat
code_string2 = ""
code_string3 = ""
else
code_string = listCodeFloorMat
code_string2 = listCodeWallMat
code_string3 = listCodeCeilMat
endif
set style "codestyle"
stwCellsFloor = stw (listCodeFloorMat)+2
stwCellsWall = stw (listCodeWallMat)+1
stwCellsCeil = stw (listCodeCeilMat)+2
else
if typeCodeMat = listCodeMat[2] then
if typeDisplayMat = `Horizontally` then
code_string = textNameFloorMat + "" + listCodeFloorMat+" "+textNameWallMat + "" + listCodeWallMat+" "+textNameCeilMat + "" + listCodeCeilMat
code_string2 = ""
code_string3 = ""
else
code_string = textNameFloorMat + " " + listCodeFloorMat
code_string2 = textNameWallMat + " " + listCodeWallMat
code_string3 = textNameCeilMat + " " + listCodeCeilMat
endif
set style "codestyle"
stwCellsFloor = stw (textNameFloorMat + " " + listCodeFloorMat)+2
stwCellsWall = stw (textNameWallMat + " " + listCodeWallMat)+1
stwCellsCeil = stw (textNameCeilMat + " " + listCodeCeilMat)+2
else
if typeCodeMat = listCodeMat[3] then
if typeDisplayMat = `Horizontally` then
code_string = basec + " " + wallc + " " + ceilc
code_string2 = ""
code_string3 = ""
else
code_string = basec
code_string2 = wallc
code_string3 = ceilc
endif
set style "codestyle"
stwCellsFloor = stw (basec)+2
stwCellsWall = stw (wallc)+1
stwCellsCeil = stw (ceilc)+2
endif
endif
endif
maxCodeLength = max(stwCellsFloor,stwCellsWall,stwCellsCeil)
if ceiltype="Value" then
room_height = "H: " + room_height + lin_unit
else
room_height = ceiltype
endif
room_perim = "P: " + room_perim + lin_unit
room_volume = "V: " + room_volume + vol_unit
!--------------------------------------------
dim stBoxText[10]
stBoxText[1] = Zname
stBoxText[2] = textNumRoom
stBoxText[3] = room_number
stBoxText[4] = room_area
stBoxText[5] = code_string
stBoxText[6] = code_string2
stBoxText[7] = code_string3
stBoxText[8] = room_perim
stBoxText[9] = room_height
stBoxText[10] = room_volume
! ------------------------------------------------------------------------------------------
! Size of the strings - Max, Min
! ------------------------------------------------------------------------------------------
set style "znamestyle"
if not(bZoneNameAllign) and not(bFrameZoneName) then
w_roona = (stw (Zname))
else
w_roona = (stw (Zname)+2) ! Justify to Subtext
endif
set style "styleNumRoom"
w_numRoom = (stw (textNumRoom)+2)
set style "znumstyle"
w_roonu = (stw (ROOM_NUMBER)+2)
set style "arstyle"
w_rooar = (stw (room_area)+2)
set style "codestyle"
if typeDisplayMat = `Horizontally` then
w_code = (stw (code_string)+2)
else
w_code = (stw (code_string)+2)
w_code2 = (stw (code_string2)+2)
w_code3 = (stw (code_string3)+2)
endif
set style "pestyle"
w_peri = (stw (room_perim)+2)
set style "chstyle"
w_roohe = (stw (room_height)+2)
set style "VolStyle"
w_roovol = (stw (room_volume)+2)
max_len = max ( w_roona * name,
w_numRoom * bNumRoom,
w_roonu * num,
w_rooar * area,
w_code * code,
w_code2 * code * (typeDisplayMat = listDisplayMat[2]),
w_code3 * code * (typeDisplayMat = listDisplayMat[2]),
w_peri * peri,
w_roohe * ceil_s,
w_roovol * volume) !*** width of the stamp
rot2 w
! ------------------------------------------------------------------------------------------
! Make a Pharagraph --> Size of the strings - height
! ------------------------------------------------------------------------------------------
if not(bFixStampWidth) then
widthStamp = max_len
else
if not(bWrapWord) then
widthStampMIN = max_len
else
if code and typeFrameMat <> `None` and not(box_y) then
if typeDisplayMat = listDisplayMat[1] then widthStampMIN = w_code ! Horizontally
if typeDisplayMat = listDisplayMat[2] then widthStampMIN = maxCodeLength ! Vertically
endif
endif
if widthStampMM < widthStampMIN then widthStampMM = widthStampMIN
widthStamp = widthStampMM
endif
for iWrap = 1 to 10
PARAGRAPH nameParagraph[iWrap] jst, 0, 0, 0, 1, 0
pen setPen[iWrap]
set style setStyle[iWrap]
""+stBoxText[iWrap]
ENDPARAGRAPH
TEXTBLOCK nameTextblock[iWrap] widthStamp, jst, 0, 1 ,1, 0,nameParagraph[iWrap]
n = REQUEST ("TEXTBLOCK_INFO",nameTextblock[iWrap],width,height)
tBlockHeight[iWrap] = height
tBlockWidth[iWrap] = width
!*** height of the stamp
if showtext[iWrap] then
heightStamp = heightStamp - tBlockHeight[iWrap]
numRowMAX = numRowMAX + 1
endif
next iWrap
! ========================================================================================
! Inscription and Drawing Frame
! ========================================================================================
gosub 4000
for iFunction = 1 to 10
if showtext[iFunction] then
! Justify
if iFunction = 1 and not(bFrameZoneName) and not(bZoneNameAllign) then
if jst = 1 then dist = 0 !Left_Justified
if jst = 2 then dist = widthStamp/2 !Centered_Justified
if jst = 3 then dist = widthStamp !Right_Justified
else
if jst = 1 then dist = 1 !Left_Justified
if jst = 2 then dist = widthStamp/2 !Centered_Justified
if jst = 3 then dist = widthStamp-1 !Right_Justified
endif
pen setPen[iFunction]
set style setstyle[iFunction]
richtext2 dist,-vlen,nameTextblock[iFunction]
vlen = vlen + tBlockHeight[iFunction]
numRow = numRow + 1
! just the inlines except after the last row
if box_y and inline and (numRow <> numRowMAX) then gosub 3000
! -----------------------------
! for material code own frame [
! -----------------------------
if not(box_y) & iFunction = 5 then
pen Pen_Box
if typeDisplayMat = listDisplayMat[1] then ! Horizontally
if typeFrameMat <> listFrameMat[3] then ! Frame <> None
if jst = 1 then
rect2 0,-vlen +tBlockHeight[iFunction],w_code,-vlen
if typeFrameMat = listFrameMat[2] then ! Frame = Cells
line2 stwCellsFloor,-vlen + tBlockHeight[iFunction],stwCellsFloor ,-vlen
line2 w_code-stwCellsCeil,-vlen + tBlockHeight[iFunction],w_code-stwCellsCeil,-vlen
endif
endif
if jst = 2 then
rect2 widthStamp/2-w_code/2,-vlen +tBlockHeight[iFunction],widthStamp/2+w_code/2,-vlen
if typeFrameMat = listFrameMat[2] then
line2 widthStamp/2-w_code/2 +stwCellsFloor,-vlen + tBlockHeight[iFunction],widthStamp/2-w_code/2 +stwCellsFloor ,-vlen
line2 widthStamp/2+w_code/2 -stwCellsCeil,-vlen + tBlockHeight[iFunction],widthStamp/2+w_code/2 -stwCellsCeil ,-vlen
endif
endif
if jst = 3 then
rect2 widthStamp-w_code,-vlen +tBlockHeight[iFunction],widthStamp,-vlen
if typeFrameMat = listFrameMat[2] then
line2 widthStamp-w_code+stwCellsFloor,-vlen + tBlockHeight[iFunction],widthStamp-w_code+stwCellsFloor ,-vlen
line2 widthStamp-stwCellsCeil,-vlen + tBlockHeight[iFunction],widthStamp-stwCellsCeil,-vlen
endif
endif
endif
else ! Vertically
if typeFrameMat <> listFrameMat[3] then ! Frame <> None
if jst = 1 then
rect2 0,-vlen +tBlockHeight[iFunction],maxCodeLength,-vlen -tBlockHeight[iFunction]*2
if typeFrameMat = listFrameMat[2] then
line2 0,-vlen, maxCodeLength,-vlen
line2 0,-vlen -tBlockHeight[iFunction], maxCodeLength,-vlen -tBlockHeight[iFunction]
endif
endif
if jst = 2 then
rect2 widthStamp/2 - maxCodeLength/2,-vlen +tBlockHeight[iFunction],widthStamp/2 + maxCodeLength/2,-vlen -tBlockHeight[iFunction]*2
if typeFrameMat = listFrameMat[2] then
line2 widthStamp/2 - maxCodeLength/2,-vlen, widthStamp/2 + maxCodeLength/2,-vlen
line2 widthStamp/2 - maxCodeLength/2,-vlen -tBlockHeight[iFunction], widthStamp/2 + maxCodeLength/2,-vlen -tBlockHeight[iFunction]
endif
endif
if jst = 3 then
rect2 widthStamp - maxCodeLength,-vlen +tBlockHeight[iFunction],widthStamp,-vlen -tBlockHeight[iFunction]*2
if typeFrameMat = listFrameMat[2] then
line2 widthStamp - maxCodeLength,-vlen, widthStamp,-vlen
line2 widthStamp - maxCodeLength,-vlen -tBlockHeight[iFunction], widthStamp,-vlen -tBlockHeight[iFunction]
endif
endif
endif
endif
endif
! -----------------------------
! ] for material code own frame
! -----------------------------
endif
next iFunction
if box_y then
pen Pen_Box
if name and bFrameZoneName then ! just the global frame with ZonaName
rect2 0,0,widthStamp,-vlen
else
if name and not(bFrameZoneName) then ! just the global frame without ZonaName
if numRow > 1 then rect2 widthStamp/2-w_roonu/2,-tBlockHeight[1],widthStamp/2+w_roonu/2,-vlen ! if just the name displayed don`t draw frame
else
rect2 0,0,widthStamp,-vlen
endif
endif
endif
! ========================================================================================
! Hotspots
! ========================================================================================
if hspots then
hotspot2 widthStamp/2, 0
hotspot2 widthStamp/2, heightStamp
hotspot2 0, heightStamp/2
hotspot2 widthStamp, heightStamp/2
endif
if bFixStampWidth then
unID = GS_HotspotUnIDBegin
if pointAnchor = placePointAnchor[1] or pointAnchor = placePointAnchor[4] then
! Top Left
! Bottom Left
HOTSPOT2 0, 0, unID, widthStampLength_model, 1+256 ,widthStampPoint :unID=unID+1
HOTSPOT2 -1, 0, unID, widthStampLength_model, 3 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp, 0, unID, widthStampLength_model, 2 ,widthStampPoint :unID=unID+1
HOTSPOT2 0, heightStamp,unID, widthStampLength_model, 1+256 ,widthStampPoint :unID=unID+1
HOTSPOT2 -1, heightStamp,unID, widthStampLength_model, 3 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp, heightStamp,unID, widthStampLength_model, 2 ,widthStampPoint :unID=unID+1
endif
if pointAnchor = placePointAnchor[2] or pointAnchor = placePointAnchor[5] then
! Bottom Right
! Top Right
HOTSPOT2 widthStamp, 0, unID, widthStampLength_model, 1+256 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp+1, 0, unID, widthStampLength_model, 3 ,widthStampPoint :unID=unID+1
HOTSPOT2 0, 0, unID, widthStampLength_model, 2 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp, heightStamp,unID, widthStampLength_model, 1+256 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp+1, heightStamp,unID, widthStampLength_model, 3 ,widthStampPoint :unID=unID+1
HOTSPOT2 0, heightStamp,unID, widthStampLength_model, 2 ,widthStampPoint :unID=unID+1
endif
if pointAnchor = placePointAnchor[3] then
! Center
HOTSPOT2 widthStamp/2, 0, unID, widthStampLength_modelPer2, 1+128 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp/2-1, 0, unID, widthStampLength_modelPer2, 3 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp, 0, unID, widthStampLength_modelPer2, 2 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp/2, heightStamp,unID, widthStampLength_modelPer2, 1+128 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp/2-1, heightStamp,unID, widthStampLength_modelPer2, 3 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp, heightStamp,unID, widthStampLength_modelPer2, 2 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp/2, 0, unID, widthStampLength_modelPer2, 1+128 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp/2+1, 0, unID, widthStampLength_modelPer2, 3 ,widthStampPoint :unID=unID+1
HOTSPOT2 0, 0, unID, widthStampLength_modelPer2, 2 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp/2, heightStamp,unID, widthStampLength_modelPer2, 1+128 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp/2+1, heightStamp,unID, widthStampLength_modelPer2, 3 ,widthStampPoint :unID=unID+1
HOTSPOT2 0, heightStamp,unID, widthStampLength_modelPer2, 2 ,widthStampPoint :unID=unID+1
endif
hotspot2 widthStamp/2, heightStamp/2
else
HOTSPOT2 0, 0
HOTSPOT2 widthStamp, 0
HOTSPOT2 0, heightStamp
HOTSPOT2 widthStamp, heightStamp
HOTSPOT2 widthStamp/2, heightStamp/2
endif
end
! ========================================================================================
! Subroutines
! ========================================================================================
1001: !*** Linear unit strings
if strstr (form, "m") then unit = " m"
if strstr (form, "cm") then unit = " cm"
if strstr (form, "mm") then unit = " mm"
if strstr (form, "i") or strstr (form, "f") then unit = ""
return
1002: !*** Area unit strings
if strstr (form, "sqm") then unit = " m2"
if strstr (form, "sqcm") then unit = " cm2"
if strstr (form, "sqmm") then unit = " mm2"
if strstr (form, "sqf") then unit = " sq ft"
if strstr (form, "sqi") then unit = " sq inch"
return
1003: !*** Volume unit strings
if strstr(form, "cum") then unit = " m3" ! cubic meters
if strstr(form, "cucm") then unit = " cm3" ! cubic centimeters
if strstr(form, "cumm") then unit = " mm3" ! cubic millimeters
if strstr(form, "cuf") then unit = " cu ft" ! cubic feet
if strstr(form, "cui") then unit = " cu inch" ! cubic inches
if strstr(form, "cuy") then unit = " cu yards" ! cubic yards
if strstr(form, "l") then unit = " liter" ! liters
if strstr(form, "gal") then unit = " gallon" ! gallons
return
2000:
if fontStyle = stFontStyle[1] then iFontStyle = 0 ! Plain
if fontStyle = stFontStyle[2] then iFontStyle = 1 ! Bold
if fontStyle = stFontStyle[3] then iFontStyle = 2 ! Italic
if fontStyle = stFontStyle[4] then iFontStyle = 4 ! Underline
return
3000: ! Show Frame: just the inlines
pen Pen_Box
line2 0,-vlen,widthStamp,-vlen
return
4000:
if bAnchorPoint then
if pointAnchor = placePointAnchor[1] then add2 0, 0 ! Top Left
if pointAnchor = placePointAnchor[2] then add2 -widthStamp, 0 ! Top Right
if pointAnchor = placePointAnchor[3] then add2 -widthStamp/2, -heightStamp/2 ! Center
if pointAnchor = placePointAnchor[4] then add2 0, -heightStamp ! Bottom Left
if pointAnchor = placePointAnchor[5] then add2 -widthStamp, -heightStamp ! Bottom Right
else
add2 -widthStamp/2, -heightStamp/2
endif
return
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-08-10 08:10 PM
It is difficult to check exactly how it works at the moment using only the part of the code that you posted. It refers to multiple parameters defined in the parameter list and other scripts, and won't work without them.
Who originally created the zone stamp? Would they mind you attaching it to a post? (You will have Zip it up to attach it.) I can't guarantee that I can fix it myself, but I'm sure someone on these forums can!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-10-17 03:54 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-10-17 08:44 AM
That's because the setting of the font size of the title and of the details is in different places.
See the attached image!
Regards, Ede