-
-
Notifications
You must be signed in to change notification settings - Fork 678
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to render 4.3_ADD_2 file with BBIM240419 with IfcOpenShell 0.8.0 #4565
Comments
I don't think you can just swap out 0.7 for 0.8 - there are probably some python binding changes that we need to address too. How did you test out 0.8? |
Ah sorry for the confusion, but I just used IfcConvert to do an conversion to .dae and imported that into blender. But very exciting that you're willing to take this for a test drive. The 2nd error is related to linear placement which is not implemented here [0] (and would be difficult to implement standalone in python). What is the full stack trace there? Maybe we can work around in the import scenario. Otherwise I need to prioritize implementing this as a binding in C++. |
Any non geometric entities will use the python get_local_placement function, which could be a possible reason for the second error. |
I've opened the file with 0.7.0 and the only issue during the file load was missing IfcAxis2PlacementLinear implementation, added a warning for it, so it will be possible to load the model.
@piotr-smolira can you please try to load it with the latest build from releases? |
Download bbim311 for windows -> unzip -> replace ifcopenshell -> zip -> install add-on in blender 🤓
Sure @Andrej730 It opens. It looks like that: It seems that all columns and foundations are placed in the position of the first one. BIMcollab Zoom gives the same result. Empty result in Acca Software. Only proper render I managed to get from IfcViewer from RDF. In the link here, authors managed to display whole file (whole thread). Horizontal elements are represented like so: whereas I expect something like: I'm not sure if it something related to IfcRelPositions, IfcObjectPlacement, IfcAlignment or something that gives that error for putting all columns in the same spot. |
It's completely expected. 0.7 doesn't support anything related to alignments, so also not the linearly placed columns nor sweeps over alignment curves (I'm a bit puzzled why you get these lines in there, probably just polylines or sth). Moving forward I committed some code in 0.8 to evaluate (any type of) placement. How shall we proceed connecting this to bbim/hl api? Should we add some forward compatibility to the 0.7 bbim code so that it can accept a 0.8 ifcopenshell? Or should we stay a bit more clean and keep things contained in the 0.8 branch? I've started a new ifopsh build for 0.8. Fingers crossed. Btw. I also already merged (or rather some very elaborate cherry picking) everything of v0.7 in to v0.8. So we're getting in relatively good shape to make the jump :)
|
I've made some changes (to blenderbim src on the v0.8.0 branch) to get something to import for this particular model, but we're not there yet. There is some linear placements going on, but most of them appear to be incorrect probably because of some parenting issues or because of a mismatch between global/local transformations, don't know. Also quite a few objects come in as empties. I hope somebody who is a bit more familiar with the blenderbim import flow can have a look. Maybe it helps to compare with the .dae output of ifcconvert. You'll have to wait for the latest v0.8 bot build though. |
@aothms are there issues here, with the c++ geometry code that I need to be working on? I know the c++ coding isn't rock solid yet, especially for cant. There was a post on LinkedIn by @Moult about IfcSectionedSolidHorizontal support on the v0.8.0 branch, then all of a sudden a flurry of activity here. What do you need from me to make this successful? |
I think in this case the C++ code is ok. I keep confusing people apparently, but the IfcConvert output is magnificent. So the issue is either in the python bindings or in the use of the python bindings. Would be great if @Moult or @Andrej730 could have a peek as they can better deconstruct the blenderbim import flow. For reference here [0] is the .DAE output of IfcConvert. IfcConvert outputBlenderBIM output |
As it will be more like to be available in the ifcopenshell package. Related to #4565
As it will be more like to be available in the ifcopenshell package. Related to #4565
I've investigated some random wall that occurred at the origin and it seems reshaping it's
|
Amazing @Andrej730. Can confirm that fixes things. We might better do that transpose on the C++ side, but for now this will do. The only thing missing now in BlenderBIM are the three line markings: These are IfcSurfaceFeature that have an IfcRelAdheresToElement that links them into the tree. We probably should incorporate these relationships when we build the collections. The [IfcSurfaceFeature] <--- AdheresToElement --o [IfcRelAdheresToElement] o-- RelatingElement --> IfcElement relationship has [1:1] cardinality from IfcSurfaceFeature to IfcElement so I think it's safe to consider it more or less equivalent to e.g containment, but I don't think there is currently consensus on how to treat these. |
What version if IfcConvert did you use and what options? I'm getting the same results when converting to .DAE (piers in one location and all faulty result like above) as I have in blender (ver. IfcConvert-v0.7.0-f7c03db-win64). I would like to convert to GLTF, but maybe that's a subject for another thread... If you used v.0.8 where can I see the built for that?
Same question: can I test bbim built of v.0.8? All in all, I would like to dive more into v.0.8. It looks like compiling from source is only option. And I've already failed on setting up all stuff with c++. |
@piotr-smolira You can use v0.8.0 branch from this repository to test it with the latest changes for BBIM, ifcopenshell build for v0.8.0 is available from IfcOpenBot comments here - https://github.com/IfcOpenBot/IfcOpenShell/commits/v0.8.0/ |
Yeah, IfcSurfaceFeature seems kind of different from other IfcFeatureElements as it has it's own geometry (not just booled to/from the relating element), so it makes sense to just add them to the tree. Should be working now: |
@piotr-smolira any other issues loading this model? |
@Andrej730 It seems that I'm still facing that problems... But it might be due to not correct bbim version. So I went to try build my bbim built from this guideline blenderbim installation.
If you could assist me to get it right or send the package you're testing me, I would be delighted to test it. |
The way it works for me - I've setup live dev environment that's connected to the repo directly and I've copied You can do either that too or alternatively:
|
@Andrej730 On the first sight it looks superb! I will look through the model right now. |
There are 2 things:
I also had some errors while opening some other ifc file but I think that is separate issue though. So I might open a new one. So all in all, it displays great. But just Ifc class window is missing when opening some files. Thanks Andrej, wonderful work! |
Couldn't reproduce this neither in v0.7.0 or in v0.8.0. Can you please try again with the latest builds and check system console for errors?
@aothms it seems there is no
Moved to a separate issue #4605 |
Yes and no. There is now |
The same issue I have with 0.7.
I attach file.
Viadotto Acerno (3).zip
I haven't check all possible setting to load the file. However, default setting doesn't render a thing with an error
self.collections[parent.GlobalId].children.link(aggregate["collection"]) KeyError: '2cuGKPQpT2GQXEl_SVslgy'
Another settings I've tried:
@aothms has shown that it works with his add-on with 0.8.
The text was updated successfully, but these errors were encountered: