OSArch Community

[IFC] Deleting elements

  1. H

    Hi! I'm having issues deleting objects in my test.ifc file in blender.

    I have looked around in the OSArch Community and tried unlink class from object , then delete from blender, exported IFC. When I reimport the deleted object is still there...

  2. C

    Is it possible for you to share your IFC file and say in detail what you would like to delete? Which IfcClass for example :-)

  3. H

    Sure! I testing the merge functionality in blenderbim an got some extra artifacts I tried to remove.

  4. C

    Were you trying to delete IfcFurnishingElement/Cube.002? And then export it again?

  5. H

    Yes, I want to know how I can delete elements in a IFC file. Often we get large IFC files because some architects export bushes and trees with leaves on them(!?). All this geometry makes the IFC very slow and large. So it would be great to able to delete objects. The file I sent you is just for testing out how to merge files and how to delete objects. Just to get a feel for how the software handles IFC

  6. C

    Yes, I want to know how I can delete elements in a IFC file.

    I don't think you can delete just anything in IFC as you would like?, IFC has a certain hierarchy.

  7. B

    I think just delete should work for objects in IfcElement class.

    I'm not really sure, but I suspect it has to do with the tree organization. The emptys representing IfcSpacialStrutuctureElement should be inside their respective collection. For example, both IfcSite are inside the collection "IfcSite/My Site.002".

    Also, I noticed that "TEST B" file has an empty with "IfcFurnishingElement" assigned to it, and has the same GlobalID as the cube in the "TEST A" file. That might be causing conflict.

  8. H

    OK. Thank you so much Coen and bruno_perdigao

    Same global ID is probably not a good thing :D (I know, the IFC file is a mess, -just a simple test) The reason is that I wanted to try the MergeProject recipe.

    But, my issue with deleting IFC elements has haunted me for a while now, and I cant find a clear answer.

    My latest attempt to delete an element is with this procedure (https://community.osarch.org/discussion/645/):

    • select element (e.g IfcDoor/D01)

    • hit the unlink class button, and then hit delete button, save IFC,

    • Load saved IFC to new scene

    • The element still exist. I have tried with multiple IFC files both existing and IFCs created in BlenderBim (with different GlobalIDs :D) and I get the same result every time.

  9. B

    For me it usually works, but I don't do the "unlink" step, I just delete the object.

    So I made a small test here, and if I unlink and then delete, I can reproduce your problem, the element still exists.

    Did you try deleting without unlinking?

  10. B

    I checked the console, and it seems that when you unlink the object is not really deleted.

  11. H

    Hmm...weird stuff. In the other discussion this method seemed to work, but that was probably related to an earlier build and another version.

    BUT! I got it working after a few attempts! :D

    Created a simple IFC2X3 Project in blender and added a cube as a IfcFurnishingElement, and saved the IFC.

    New scene-import saved IFC - Deleted the element with delete key -saved the IFC - new scene, import ifs - Cube exists - no success

    Same thing, but used the X key - no success

    Then I remembered something from a while back about holding down the shift-key while pressing the X-key to delete objects globally in blender.

    Tried it and...SUCCESS!!! The IFC element is gone!

    Now is a time for celebration! This will make cleaning up messy IFC`s a dream both before and after merging projects :)

    And with the export CSV functionality combined with the BlenderBim Spreadsheet add-on....My God....

    Thank you so much for your insight and support. The OSArch community is really amazing!

  12. H

    PS!

    I used a Mac while testing the different methods for deleting. On a Mac - Shift-x method was the only one that worked. (macOS Monterey - Blender 3.01 - BlenderBim devbuild220330)

    In windows I tried delete-key(no success), but weirdly both x-key and shift-x-key works.(Win10-64 - Blender 3.01 - BlenderBim devbuild220330)

  13. B

    Weird, indeed. Maybe it's worth reporting an issue on GitHub.

  14. H

    bruno_perdigao Hi! If you got time, can you show me the code for deleting elements (one or all selected) in terminal/python? Looked around in forums/wiki but I may be blind...

  15. B

    In the example above I didn't delete through the terminal, I deleted them with 'delete' key in Blender, and just used the console to check whether the Ifc Elements were still saved in the ifc file. I tried to use the .remove as described here but it just crashed Blender.

  16. L

    NO chance to get rid off one ifcbeam in the model.. shift-X or whatever, unlink or move to another collection. ifc model is 2x3.

    Blender 3.1.2 + BB 220321, now on BB 220425.. and shift+X was right?? done..

    but something turns out to go wrong.. when importing to Dialux, the original file goes well, not the modified one. need to check if the 2x3-scheme is respected..Dialux is still on 2x3 :-(.. time to switch to LiVi (VI-Suite)

  17. M

    @haukj thanks for your report. I checked your file and your merged file contains two objects with the same GlobalId. This is not allowed, so there are two cubes in the same spot with the same GlobalId. This means that when you import, firstly odd things may happen since it isn't unique, but what happens is that only one of the two cubes gets imported. Then, when you delete it and save, it is deleted, but the other cube with the same GlobalId still exists, so it will appear to you as though the delete didn't work, although it did.

    To delete, it should be as simple as clicking the object you want deleted, and pressing X or the Delete key. Then you will need to save your project (Scene Properties > Project Panel > Save Project).

    @lukas what issue are you facing? Can you share a file and exactly what steps you are doing so I can help recreate it?

  18. M

    @lukas I checked your file and the operations you're doing seems to work for me:

    1. Load in BlenderBIM Add-on

    2. Move or delete beam

    3. Save (or save as)

    4. New session, load modified IFC, and confirm beam has moved / deleted

    From your screenshots indeed Dialux seems to have a very poor IFC import. But it seems as though this is unrelated to modifying it in Blender, perhaps the experience in Dialux is already poor with the original IFC?

  19. L

    Thank You @moult. Yes, Dialux needs some updates.. I recommended OpenIfcShell many times. I will send them the file too. But probably one will not learn what went wrong. Free but not open, there.

  20. H

    @moult Maybe this is an issue on MAC“s with M1 processors running blender x86 version ((Rosetta Emulator). Have tried to delete IFC objects from different IFC`s . No problem with windows version. On my new macpro with M1 it wont delete the object in the IFC file.

  21. M

    @haukj oh wow, running on M1 with an emulator for x86? I don't see how that would affect things but I have no idea. Are you available for a screenshare to debug what you are experiencing? I don't have a Mac so I can't recreate your issue here.

  22. H

    @moult - Yes :) At work right now, so I will do it later

  23. M

    @haukj drop by the OSArch.org/chat - I'm usually available sometime during the Sydney timezone :)

  24. L

    I did find changes in some declarations between the original archicad file and the BlenderBim modified ifc.

    original:#558= IFCCLASSIFICATIONREFERENCE('IFC Export Typ-Zuodnung:\X\0DIFC2x3: IfcWall | USERDEFINED | NOTDEFINED\X\0DIFC4: IfcWall | NOTDEFINED','Wand',$,#331);

    BB:#558=IFCCLASSIFICATIONREFERENCE('IFC Export Typ-Zuodnung:\X2\000D\X0\IFC2x3: IfcWall | USERDEFINED | NOTDEFINED\X2\000D\X0\IFC4: IfcWall | NOTDEFINED','Wand',$,#331);

    Is this X or X2 path-value what Dialux can not handle?

    and in the original:

    850289= IFCDIRECTION((1.,0.,0.));

    850291= IFCDIRECTION((0.,0.,1.));

    850293= IFCCARTESIANPOINT((0.,0.,0.));

    850295= IFCAXIS2PLACEMENT3D(#850293,#850291,#850289);

    850296= IFCLOCALPLACEMENT(#850272,#850295);

    which are missing completely in the BB version ? (this omission is quite often). But can be found at the end of the BB file (kind of differently linked to the object).

    So the tree structure is modified by BlenderBIM.. probably in 'legal' way since Solibri does accept it... only the poor Dialux import does not.

    any recommendation to forward to them?

  25. M

    The \X\0D etc are how STEP handles encoding of special characters. I don't know enough about the encoding to know whether or not IfcOpenShell's modifications are legitimate. It seems to have been automatic, as you never explicitly edited a classification reference. Perhaps @aothms knows why the change was made?

    Asfor the changed directions, cartesian points, and placements, that's because you moved a beam. When you moved it, the BlenderBIM Add-on selectively deleted old location (that's why it's missing) and added a new location (that's why you found a new version of it at the end).

  1. Page 1
  2. 2
  3. 3

Login or Register to reply.