ThatOpen / engine_web-ifc

Reading and writing IFC files with Javascript, at native speeds.
https://thatopen.github.io/engine_web-ifc/demo
Mozilla Public License 2.0
623 stars 195 forks source link

IFC file doesnt load correctly #21

Closed MauroLemmens closed 2 years ago

MauroLemmens commented 3 years ago

When I open a IFC file into the model loader it shows like this: afbeelding

and it should look like this: afbeelding

What can I do to let it load correctly?

agviegas commented 3 years ago

Hey, can you provide link to the file to check it?

MauroLemmens commented 3 years ago

IFC file: miniproject.zip Thanks for helping!

MauroLemmens commented 3 years ago

Hey, did you find what the problem is? I tried different IFC files and they also have missing parts.

agviegas commented 3 years ago

Hey, I've managed to reproduce it on my end, so we'll correct it eventually. As you know, this is not a finished library. We're investing all the time we have in moving forward, but I can't tell you when we'll be able to have this problem solved. Don't think we've ignored this issue, but it's not the only thing on the todo list!

image

vegarringdal commented 3 years ago

Tried it with version 0.19 This is the error messages

image

tomvandig commented 3 years ago

Update for v 0.0.20

image

Some entities still unimplemented.

agviegas commented 2 years ago

This issue is now a bounty. Whoever solves this will get $100. More information here.

dlabz commented 2 years ago

Solved! At least for @MenderBlender ...

The bug was caused by a change between IFC2x3 and IFC4 for type property SelfIntersect in IfcCompositeCurve which used to be LOGICAL (.T.) and is changed to IfcLogical (IFCLOGICAL(.T.)).

For file to load without error, the following lines in the attached IFC file Mini Project.ifc:

#1259= IFCCOMPOSITECURVE((#1225,#1229,#1235,#1239,#1244,#1248,#1254,#1258),.T.);
#1607= IFCCOMPOSITECURVE((#1225,#1580,#1585,#1589,#1594,#1598,#1603,#1606),.T.);

need to be changed to, respectively:

#1259= IFCCOMPOSITECURVE((#1225,#1229,#1235,#1239,#1244,#1248,#1254,#1258),IFCLOGICAL(.T.));
#1607= IFCCOMPOSITECURVE((#1225,#1580,#1585,#1589,#1594,#1598,#1603,#1606),IFCLOGICAL(.T.));

I'm guessing this is far from only instance of this issue, as IFC4 also introduces IfcBoolean replacing SOME INSTANCES of BOOLEAN.

@tomvandig I'm guessing there are other cases where IFC2x3 differs from IFC4 to refer to, before I reinvent the wheel?

P.S.

Extensive list of changes where this issue may be present: https://standards.buildingsmart.org/IFC/DEV/IFC4_3/RC1/HTML/link/ifc4-addendum-1-4_0_1_0-changelog.htm

agviegas commented 2 years ago

@dlabz great! Can you create a PR?

agviegas commented 2 years ago

Hey @dlabz if you don't create a PR or give a specific estimated date, we'll open the issue again! Cheers 🙂

dlabz commented 2 years ago

I got in to AdvencedBREP issue with @QuimMoya, and we lost three days on a bug, so probably won’t be able to cleanup the PR before the weekend.

If someone else is interested in this task, feel free to delegate.

I’ll focus on finishing IfcBSplineWithKnots and IfcRationalBSplineWithKnots.

agviegas commented 2 years ago

@dlabz ok! Could you please specify an estimated date for this one? Cheers!

dlabz commented 2 years ago

I’m tempted to say tomorrow, but don’t want to jinx it. We’ve had some really bad luck with code compiling without errors, yet wasm throwing promise rejection on startup, and one git clash messing everything up, so this the third time we’re reintroducing changes one by one… fingers crossed….

Neither of us have any experience with both wasm and c++, and it takes a serpentine to climb the curve, if you know what I mean.

Most of it is done, but some instances of IfcRationalBezireSurfaceWithKnots are off. Let’s touch base on Monday.

On Thu, 16 Jun 2022 at 23:52, Antonio González Viegas < @.***> wrote:

@dlabz https://github.com/dlabz ok! Could you please specify an estimated date for this one? Cheers!

— Reply to this email directly, view it on GitHub https://github.com/tomvandig/web-ifc/issues/21#issuecomment-1158168573, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAESNRVEIYOJLJCFZOKOBN3VPOOZ5ANCNFSM43BRVBTA . You are receiving this because you were mentioned.Message ID: @.***>