We value your input! Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey
2021-09-08 12:05 AM
Hello,
As far asvi know, the only method to create a custom classification system is to use classification window inside Archicad, create classes one by one, number them, oh wait, if i want to reorder my classes, it will be a nightmare....
I tried to generate classifications by mapping an excel tible using Archicad classification map, but it does not export, Archicad xml mapping uses list of lists mapping and this is not supported by excel.
Antone explored this field and had some good results ??
Also classification from revit can't be loaded in Archicad
A better classification manager should be inttoduced soon,
2021-09-08 08:41 AM
I've created Archicad Classification files in the past, from Excel. I started from an existing system in Excel and added a few formulas to turn them into lines of XML, ready to paste into a clean ascii document. This can be loaded in Archicad.
There was some trial and error involved to also have the tree included, to be honest. But much faster to prepare in Excel.
If the "tree" is not too long, you can simplify things by only preparing a flat list and create the tree inside Archicad with dragging and dropping items onto branches. And then export the XML again.
2021-09-08 04:23 PM
That sounds good , i can give it a try , but i don't know how xml language works exaactly hhh
2021-09-08 11:36 PM
I did this test, and didn't work,
if all levels are set to 1, it works perfectly
<here is the problem please ?
2021-09-09 02:11 AM
2 observations from me:
2021-09-09 09:16 AM
Yes, numbering is chaotic, the most important thing is level number, i put 1and 2 to simplify things,
If i put 1 in all levels, it loads in Archicad,
2021-09-09 10:18 AM
I had to include many steps to turn the "text" fragments into more structured numbers for branches & leafs. Formulas like LEN, RIGHT, LEFT, FIND etc... - easier to manage if you spread them over multiple columns.
This is totally dependent on the breakdown structure you are using.
I had to split a string like "02.21.1b planning des travail CCTB 01.02" into
Then I had to "escape" some characters (like > < and &) to reach valid XML.
Excel SUBSTITUTE formula to the rescue.
Then a concatenation into an item XML fragment (the dots were the code and description which I just extracted).
<item><ID>...</ID><Name>...</Name><Description/><Availability>ModelElement</Availability>
Then deep parent/Child trickery to understand from each line, based on the "code":
Finally concatenate the Prefix, ItemPart, Children and Postfix strings into an XML fragment.
And then, on a separate tab, I also prepared the header and footer of the document.
But you could also just start from an existing one or edit that directly inside Archicad.
Yup... That's about it.
2021-09-09 10:30 AM
I have a custom classification system in operation which I built manually in the Classification Manager without much effort. You still have all the data to enter, but dragging for levels etc and editing the codes & descriptions is straight forward. I can't help looking at all that coding and thinking I made the right choice! I guess it depends on how many classifications you have and whether the list is already accessible to Excel.
2021-09-09 10:49 AM
I had a 10K rows Spreadsheet in French... So I decided not to type it in manually.
As an alternative, you could prepare a simple flat XML (one code per line) and do the parenting directly inside Archicad via drag and drop. But that was mind-numbing as well for such an amount of items. So I preferred some Excel trickery. But you could script this in Python or C# or any other language, if you are more fluent that way.
Many trials and errors, as Archicad is very picky about importing an XML. One mistake and the whole file is rejected.
2021-09-09 11:43 PM - edited 2021-09-10 08:05 AM
Thanks for the description !
it works , with a simple exemple,
now with this classification test it fails,
i think the PSTFIX column is the tricky one, jumping from level 3 to level 2 causes problems,
Here is the formula i used in the prefix column
=SIERREUR(REPT(SI(L7="T";"</Children></Item>";"");M7-M8);"")