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

Door Marker Reporting

danfunk
Contributor

Hi Everyone,

 

Our firm is in the process of switching from Revit to ArchiCad. We are pretty advanced users in the Revit world but complete novices when it comes to ArchiCad. I am researching everything, taking Graphisoft's courses, watching YouTube etc and I can't seem to find an answer to my question. I would like to have our door markers report the door size as XXXX rather than X'-X"xX'-X", is this possible? I can make it happen as an ID but then in the door schedules it reports the size as X'-X"xX'-X" plus the ID and we seem to lose the ability to designate a door as a type. For example if we have a 3068 door but the door style is D1 we would want to have both 3068 and D1 reported. This might be a super simple thing to do, I just can't seem to figure out a clean way to do it. We are using ArchiCad 27 if that helps.

 

Thanks,


Dan

1 ACCEPTED SOLUTION

Accepted Solutions
Solution
Laszlo Nagy
Community Admin
Community Admin

To elaborate a bit more on Ricardo's suggestion:

With Expression-defined Properties, you can create, for example, a Property with the "String" Data Type, and use expressions to convert the width and height values of your Door into string values.

For example, you have the Width of your Door, you would divide that by 1 foot, round it down to the nearest round number, and convert it to a string, that will give you the foot component value of your Door Width in a string form:

 

STR ( ROUNDDOWN ( {Property:General Parameters/Width} / 1', 0 ), 0 )

 

Similarly, use the MOD (Modulo) function on the Door Width divided by 1 foot, then multiply the result by 12 (and convert it to a string) to get the inches component value of your Door Width in a string form:

 

STR ( MOD ( {Property:General Parameters/Width} / 1', 1 ) * 12, 0 )

 

Do the same to get the foot and inches component values of your Door Height:

 

STR ( ROUNDDOWN ( {Property:General Parameters/Height} / 1', 0 ), 0 )

 

and 

 

STR ( MOD ( {Property:General Parameters/Height} / 1', 1 ) * 12, 0 )

 

Finally, to put it all together, use the CONCAT function in the Expression to concatenate these string value into a single string. So your final Expression would be something like this:

 

CONCAT ( STR ( ROUNDDOWN ( {Property:General Parameters/Width} / 1', 0 ), 0 ), STR ( MOD ( {Property:General Parameters/Width} / 1', 1 ) * 12, 0 ), STR ( ROUNDDOWN ( {Property:General Parameters/Height} / 1', 0 ), 0 ), STR ( MOD ( {Property:General Parameters/Height} / 1', 1 ) * 12, 0 ) )

 

For example, for a Door with a width of 3'-4" and a Height of 6'-8", this expression would result in the value of 3468 as String.

 

You would define your Property in the Property Manager Dialog. Make sure that you make your Property available for the "Door" Classification, and also make sure to set the Classification field of your Doors to the "Door" value. Then the Property will appear among the list of Properties for the Door in its Settings Dialog, and you will be able to use it in Labels and Schedules.

 

DoorTypeString.png

Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac28

View solution in original post

5 REPLIES 5
Ricardo Lopez
Expert

Hi @danfunk 

 

I guess your question is about the dimensioning used in the the view created for schedules. Schedules can be saved as views, where you can change pen sets, scale, etc. and also dimensioning. Working units are also available for the whole project. If you want to trim the ' and " and let just the number, may be you could try creating a new property with an expression and data conversion functions. Check: Expression defined element properties.

There is no family and type here in Archicad, so ID can be used in many ways. Check also: Element ID Manager.

 

Regards.-

 

M. Arch. Ricardo López
BIM Consultant | Project Solutions and Services | Panama
AC17-28 SPA+INT | Windows 11 | MSI CreatorPro M16 HX C14VJG, 64GB, Nvidia Quadro RTX 2000 Ada Generation
Solution
Laszlo Nagy
Community Admin
Community Admin

To elaborate a bit more on Ricardo's suggestion:

With Expression-defined Properties, you can create, for example, a Property with the "String" Data Type, and use expressions to convert the width and height values of your Door into string values.

For example, you have the Width of your Door, you would divide that by 1 foot, round it down to the nearest round number, and convert it to a string, that will give you the foot component value of your Door Width in a string form:

 

STR ( ROUNDDOWN ( {Property:General Parameters/Width} / 1', 0 ), 0 )

 

Similarly, use the MOD (Modulo) function on the Door Width divided by 1 foot, then multiply the result by 12 (and convert it to a string) to get the inches component value of your Door Width in a string form:

 

STR ( MOD ( {Property:General Parameters/Width} / 1', 1 ) * 12, 0 )

 

Do the same to get the foot and inches component values of your Door Height:

 

STR ( ROUNDDOWN ( {Property:General Parameters/Height} / 1', 0 ), 0 )

 

and 

 

STR ( MOD ( {Property:General Parameters/Height} / 1', 1 ) * 12, 0 )

 

Finally, to put it all together, use the CONCAT function in the Expression to concatenate these string value into a single string. So your final Expression would be something like this:

 

CONCAT ( STR ( ROUNDDOWN ( {Property:General Parameters/Width} / 1', 0 ), 0 ), STR ( MOD ( {Property:General Parameters/Width} / 1', 1 ) * 12, 0 ), STR ( ROUNDDOWN ( {Property:General Parameters/Height} / 1', 0 ), 0 ), STR ( MOD ( {Property:General Parameters/Height} / 1', 1 ) * 12, 0 ) )

 

For example, for a Door with a width of 3'-4" and a Height of 6'-8", this expression would result in the value of 3468 as String.

 

You would define your Property in the Property Manager Dialog. Make sure that you make your Property available for the "Door" Classification, and also make sure to set the Classification field of your Doors to the "Door" value. Then the Property will appear among the list of Properties for the Door in its Settings Dialog, and you will be able to use it in Labels and Schedules.

 

DoorTypeString.png

Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac28
danfunk
Contributor

Thanks for the replies! I will try that out this morning. My Revit knowledge is always clouding my thought process so it is taking a bit to wrap my head around how ArchiCad does things.

So I have been able to get the information to correctly report just like you said in your screenshot, thank you for that.  I have also made a new label and it reports the door size just like I want it to. Now my question is can i modify a door marker to include this same information or is that a more complicated endeavor? The only reason I ask is ArchiCad has this lovely feature of having that information in the marker that auto appears when the door is placed rather than manually tagging the door afterwards. Let me know if I'm out to lunch.

 

Thanks

 

Dan

Yes, unfortunately, it is much more complicated to edit the GDL Script of Library Parts, especially those that are part of the default Archicad Library. In my opinion, it requires advanced GDL scripting skills. I just checked the scripts of one of the default Door Markers and it is over 2000 lines long.

So, I would recommend using Labels for this purposes. FWIW, it is possible to select multiple Doors and use the Document > Annotation > Label Selected Elements menu command to place them in a single step.

Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac28