<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Python API - Classification in Archicad Python API</title>
    <link>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266186#M668</link>
    <description>They have the same name but different rev levels. I believe you use the complete name - which would be name + rev level as in ' Arxhicad classification 22'&lt;BR /&gt;
&lt;BR /&gt;
Or am I wrong? -  just guessing?</description>
    <pubDate>Wed, 29 Jul 2020 20:39:08 GMT</pubDate>
    <dc:creator>poco2013</dc:creator>
    <dc:date>2020-07-29T20:39:08Z</dc:date>
    <item>
      <title>Python API - Classification</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266183#M665</link>
      <description>&lt;DIV class="actalk-migrated-content"&gt;Hello&lt;BR /&gt;The function FindClassificationItemInSystem() takes in the system_name and the classification item as arguments, like this:&lt;BR /&gt;classificationItem = acu.FindClassificationItemInSystem('ARCHICAD Classification', 'Chair')&lt;BR /&gt;On upgrading a file from v22 or v23 to v24, the older classification system gets retained in the project along with the new one, both having the same classification system name. How to target a specific system in that case?&lt;/DIV&gt;</description>
      <pubDate>Wed, 15 Sep 2021 08:30:36 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266183#M665</guid>
      <dc:creator>dushyant</dc:creator>
      <dc:date>2021-09-15T08:30:36Z</dc:date>
    </item>
    <item>
      <title>Re: Python API - Classification</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266184#M666</link>
      <description>I don't understand your question?&lt;BR /&gt;
&lt;BR /&gt;
Since the classification systems in  23 &amp;amp; and 24 are the same, anything added in 23 will simply be merged into 24's system. You simply search for the 23 item name in system 24 which has the same system name as 23. &lt;BR /&gt;
&lt;BR /&gt;
22 uses a different system classification system and system name , so that class system will be added into 24, in which case , you would search with the old system name?&lt;BR /&gt;
&lt;BR /&gt;
IOW -- You have to know which version of Archicad is running and which classification systems are present.</description>
      <pubDate>Wed, 29 Jul 2020 18:34:33 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266184#M666</guid>
      <dc:creator>poco2013</dc:creator>
      <dc:date>2020-07-29T18:34:33Z</dc:date>
    </item>
    <item>
      <title>Re: Python API - Classification</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266185#M667</link>
      <description>I am talking about ArchiCAD 22's classification vs. 23 / 24. &lt;BR /&gt;
If you migrate a v22 file into v23, you would find two classification systems, but both with the same name 'ARCHICAD Classification'. Attaching screenshots of the two from the same project.&lt;BR /&gt;
So they need to be renamed to be distinctly identified by the current python API as I understand.</description>
      <pubDate>Wed, 29 Jul 2020 19:00:35 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266185#M667</guid>
      <dc:creator>dushyant</dc:creator>
      <dc:date>2020-07-29T19:00:35Z</dc:date>
    </item>
    <item>
      <title>Re: Python API - Classification</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266186#M668</link>
      <description>They have the same name but different rev levels. I believe you use the complete name - which would be name + rev level as in ' Arxhicad classification 22'&lt;BR /&gt;
&lt;BR /&gt;
Or am I wrong? -  just guessing?</description>
      <pubDate>Wed, 29 Jul 2020 20:39:08 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266186#M668</guid>
      <dc:creator>poco2013</dc:creator>
      <dc:date>2020-07-29T20:39:08Z</dc:date>
    </item>
    <item>
      <title>Re: Python API - Classification</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266187#M669</link>
      <description>YIP -- I'm wrong  --- Ass U me&lt;BR /&gt;
&lt;BR /&gt;
Apparently FindClassificationSystem(str) does not take a version and only returns the the first found system with that name  --- Obviously a bug.&lt;BR /&gt;
&lt;BR /&gt;
A work around is to use acc.GetAllClassificationSystems() and the iterate though to find the name and version number you want. Then retrieve the ID (guid) with return[?].classificationSystemId.guid.</description>
      <pubDate>Wed, 29 Jul 2020 21:40:51 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266187#M669</guid>
      <dc:creator>poco2013</dc:creator>
      <dc:date>2020-07-29T21:40:51Z</dc:date>
    </item>
    <item>
      <title>Re: Python API - Classification</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266188#M670</link>
      <description>&lt;BLOCKQUOTE&gt;poco2013 wrote:&lt;BR /&gt;
A work around is to use acc.GetAllClassificationSystems() and the iterate though to find the name and version number you want. Then retrieve the ID (guid) with return[?].classificationSystemId.guid.
&lt;/BLOCKQUOTE&gt;
Yes, that's one way.</description>
      <pubDate>Thu, 30 Jul 2020 06:50:06 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266188#M670</guid>
      <dc:creator>dushyant</dc:creator>
      <dc:date>2020-07-30T06:50:06Z</dc:date>
    </item>
    <item>
      <title>Re: Python API - Classification</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266189#M671</link>
      <description>Hi Guys,&lt;BR /&gt;
&lt;BR /&gt;
I've just implemented a new example script.&lt;BR /&gt;
It shows how to handle classifications of elements and how to create own dialogs (user interface) with python scripts &lt;E&gt;&lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/E&gt;&lt;BR /&gt;
Download the script from here:&lt;BR /&gt;
&lt;A href="https://graphisoftse-my.sharepoint.com/:u:/g/personal/tlorantfy_graphisoft_com/EaOZ8nvnbF1AgtbdY0qHMWYBUWDvexQ6LyHlc0yijHHuDg?e=vVFoTL" target="_blank"&gt;&lt;LINK_TEXT text="https://graphisoftse-my.sharepoint.com/ ... g?e=vVFoTL"&gt;https://graphisoftse-my.sharepoint.com/:u:/g/personal/tlorantfy_graphisoft_com/EaOZ8nvnbF1AgtbdY0qHMWYBUWDvexQ6LyHlc0yijHHuDg?e=vVFoTL&lt;/LINK_TEXT&gt;&lt;/A&gt;&lt;BR /&gt;
&lt;BR /&gt;
See demo video here: &lt;A href="https://ttprivatenew.s3.amazonaws.com/pulse/tlorantfy-graphisoft/attachments/14250096/classification_migration.mp4" target="_blank"&gt;&lt;LINK_TEXT text="https://ttprivatenew.s3.amazonaws.com/p ... ration.mp4"&gt;https://ttprivatenew.s3.amazonaws.com/pulse/tlorantfy-graphisoft/attachments/14250096/classification_migration.mp4&lt;/LINK_TEXT&gt;&lt;/A&gt;</description>
      <pubDate>Thu, 30 Jul 2020 12:19:44 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266189#M671</guid>
      <dc:creator>Tibor Lorantfy</dc:creator>
      <dc:date>2020-07-30T12:19:44Z</dc:date>
    </item>
    <item>
      <title>Re: Python API - Classification</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266190#M672</link>
      <description>&lt;BLOCKQUOTE&gt;Tibor wrote:&lt;BR /&gt;
Hi Guys,&lt;BR /&gt;
&lt;BR /&gt;
I've just implemented a new example script.&lt;BR /&gt;
It shows how to handle classifications of elements and how to create own dialogs (user interface) with python scripts &lt;E&gt;&lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/E&gt;&lt;BR /&gt;
Download the script from here:&lt;BR /&gt;
&lt;A href="https://graphisoftse-my.sharepoint.com/:u:/g/personal/tlorantfy_graphisoft_com/EaOZ8nvnbF1AgtbdY0qHMWYBUWDvexQ6LyHlc0yijHHuDg?e=2pnW6v" target="_blank"&gt;&lt;LINK_TEXT text="https://graphisoftse-my.sharepoint.com/ ... g?e=2pnW6v"&gt;https://graphisoftse-my.sharepoint.com/:u:/g/personal/tlorantfy_graphisoft_com/EaOZ8nvnbF1AgtbdY0qHMWYBUWDvexQ6LyHlc0yijHHuDg?e=2pnW6v&lt;/LINK_TEXT&gt;&lt;/A&gt;&lt;BR /&gt;
&lt;BR /&gt;
See demo video here: &lt;A href="https://ttprivatenew.s3.amazonaws.com/pulse/tlorantfy-graphisoft/attachments/14250096/classification_migration.mp4" target="_blank"&gt;&lt;LINK_TEXT text="https://ttprivatenew.s3.amazonaws.com/p ... ration.mp4"&gt;https://ttprivatenew.s3.amazonaws.com/pulse/tlorantfy-graphisoft/attachments/14250096/classification_migration.mp4&lt;/LINK_TEXT&gt;&lt;/A&gt;
&lt;/BLOCKQUOTE&gt;
Woah.. What a coincidence.. I had been working on developing the same thing !! Will check it out and post. Thanks.&lt;BR /&gt;
This 'tkinter' thing is awesome and would be so useful!</description>
      <pubDate>Thu, 30 Jul 2020 12:44:56 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266190#M672</guid>
      <dc:creator>dushyant</dc:creator>
      <dc:date>2020-07-30T12:44:56Z</dc:date>
    </item>
    <item>
      <title>Re: Python API - Classification</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266191#M673</link>
      <description>&lt;BLOCKQUOTE&gt;Tibor wrote:&lt;BR /&gt;
Hi Guys,&lt;BR /&gt;
&lt;BR /&gt;
I've just implemented a new example script.&lt;BR /&gt;
It shows how to handle classifications of elements and how to create own dialogs (user interface) with python scripts &lt;E&gt;&lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/E&gt;&lt;BR /&gt;
Download the script from here:&lt;BR /&gt;
&lt;A href="https://graphisoftse-my.sharepoint.com/:u:/g/personal/tlorantfy_graphisoft_com/EaOZ8nvnbF1AgtbdY0qHMWYBUWDvexQ6LyHlc0yijHHuDg?e=2pnW6v" target="_blank"&gt;&lt;LINK_TEXT text="https://graphisoftse-my.sharepoint.com/ ... g?e=2pnW6v"&gt;https://graphisoftse-my.sharepoint.com/:u:/g/personal/tlorantfy_graphisoft_com/EaOZ8nvnbF1AgtbdY0qHMWYBUWDvexQ6LyHlc0yijHHuDg?e=2pnW6v&lt;/LINK_TEXT&gt;&lt;/A&gt;&lt;BR /&gt;
&lt;BR /&gt;
See demo video here: &lt;A href="https://ttprivatenew.s3.amazonaws.com/pulse/tlorantfy-graphisoft/attachments/14250096/classification_migration.mp4" target="_blank"&gt;&lt;LINK_TEXT text="https://ttprivatenew.s3.amazonaws.com/p ... ration.mp4"&gt;https://ttprivatenew.s3.amazonaws.com/pulse/tlorantfy-graphisoft/attachments/14250096/classification_migration.mp4&lt;/LINK_TEXT&gt;&lt;/A&gt;
&lt;/BLOCKQUOTE&gt;

Tested the script on a couple of project files. My observations are: &lt;BR /&gt;
It worked on a new AC24 project file having default AC24 (v2.0) classification and default AC22 classification imported for testing. &lt;BR /&gt;
But when I test it a project with over 150 elements having customised v2.0 classification and customised AC22 classification (i.e., with a lot more sub-classifications in 'Walls', 'Flooring', etc.), it does not change the classification of any element.&lt;BR /&gt;
&lt;BR /&gt;
&lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;Code:&lt;E&gt;&lt;/E&gt;
&lt;PRE&gt;elementsNewClassifications.extend([act.ElementClassification(elementId, act.ClassificationId(newClassificationSystemId, newci.classificationItemId)) for newci in newClassificationItems])&lt;/PRE&gt;

&lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;Error:&lt;E&gt;&lt;/E&gt;&lt;BR /&gt;
When &lt;B&gt;FindClassificationItemInSystem()&lt;/B&gt; returns &lt;B&gt;None&lt;/B&gt;, &lt;B&gt;newci.classificationItemId&lt;/B&gt; gives the error:
&lt;PRE&gt;AttributeError: 'NoneType' object has no attribute 'classificationItemId'&lt;/PRE&gt;

This is the case when the some classification of v22 is &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;not&lt;E&gt;&lt;/E&gt; found in v2.0.</description>
      <pubDate>Fri, 31 Jul 2020 10:11:53 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/266191#M673</guid>
      <dc:creator>dushyant</dc:creator>
      <dc:date>2020-07-31T10:11:53Z</dc:date>
    </item>
    <item>
      <title>Re: Python API - Classification</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/368178#M674</link>
      <description>&lt;P&gt;Hi Tibor,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to access the link to the python code but get an error that says&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;"&lt;SPAN&gt;Sorry, you cannot access this document. Please contact the person who shared it with you."&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Will you be able to grant me access to it? It will be extremely useful.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Regard&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Mauricio&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 20 Jan 2023 05:32:03 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Python-API-Classification/m-p/368178#M674</guid>
      <dc:creator>Mauricio Plazas</dc:creator>
      <dc:date>2023-01-20T05:32:03Z</dc:date>
    </item>
  </channel>
</rss>

