Skip to content

Windows/MSVC + OCCT 7.0.0#124

Merged
aothms merged 14 commits into
IfcOpenShell:masterfrom
Tridify:win_occt_7.0.0
Sep 1, 2016
Merged

Windows/MSVC + OCCT 7.0.0#124
aothms merged 14 commits into
IfcOpenShell:masterfrom
Tridify:win_occt_7.0.0

Conversation

@Stinkfist0

@Stinkfist0 Stinkfist0 commented Aug 25, 2016

Copy link
Copy Markdown
Contributor

… or 'false' (performance warning)") + unnecessary integer cast.
… order to fix static linking to OCCT. Mark IfcOpenShell patches in the OCCT patch files for clarity.
…lean up IfcOpenSHell's linker warnings by defining HAVE_NO_DLL.
…lenames/paths also. Apply the coding conventions while at it. Fixes IfcOpenShell#123.
…in order to fix Debug build. Do not trigger OCCT rebuild each time build-deps.cmd is ran.
@Stinkfist0

Stinkfist0 commented Aug 26, 2016

Copy link
Copy Markdown
Contributor Author

Oh, I am testing slicing the Duplex model and I notice it crashes with OCCT 7.0.0. Did you happen to test slicing Duplex by any change on Linux with OCCT 7.0.0?

@aothms

aothms commented Aug 27, 2016

Copy link
Copy Markdown
Member

Great! Many thanks. I am having a look now.

Did you happen to test slicing Duplex by any change on Linux with OCCT 7.0.0?

No, I will. It doesn't crash on Windows or you just didn't happen to check?

Is there a reason why you copied over the entire files you want to patch rather than submit patches and git apply them like you did before?

@Stinkfist0

Stinkfist0 commented Aug 27, 2016

Copy link
Copy Markdown
Contributor Author

Frankly, I was simply tired after hours of OCCT & OCE building to research into if/how git apply could be used for non version controlled files. I tried quickly creating patch files with WinMerge but those turned out not to be in format git apply would accept. If this is doable, I'm happy to provide a cleaner PR (some unwanted merge commits already sneaked in).

@aothms

aothms commented Aug 28, 2016

Copy link
Copy Markdown
Member

Well, one of the reasons I asked is that I get unexplainable %ERRORLEVEL%=1 from the copy command. Even though the script prints 1 file(s) copied. and the file indeed seems updated.

Then later on I get a CMake error:

CMake Error at adm/cmake/occt_macros.cmake:43 (math):
  math cannot parse the expression: "32 + 32*(/8)": syntax error, unexpected
  exp_DIVIDE, expecting exp_OPENPARENT or exp_NUMBER (10)

meaning that ${CMAKE_SIZEOF_VOID_P} is empty.

# COMPILER_BITNESS variable
macro (OCCT_MAKE_COMPILER_BITNESS)
  math (EXPR COMPILER_BITNESS "32 + 32*(${CMAKE_SIZEOF_VOID_P}/8)")
endmacro()

Strange errors. Not sure what all is happening here.

@Stinkfist0

Stinkfist0 commented Aug 28, 2016

Copy link
Copy Markdown
Contributor Author

OK, sounds weird, I'll retry rebuilding a clean OCCT in a sec. The CMake problems sound odd - what's your version BTW? I'm using 64-bit 3.6.1.

@Stinkfist0

Copy link
Copy Markdown
Contributor Author

OK, I'm getting the same copy error.

@Stinkfist0

Copy link
Copy Markdown
Contributor Author

Fix committed. I'll look into cleaning up this PR tomorrow.

@aothms

aothms commented Aug 29, 2016

Copy link
Copy Markdown
Member

This is fine for me. Little reason to assume the copy would fail. Perhaps using xcopy or robocopy would also have been an option.

@Stinkfist0

Stinkfist0 commented Aug 29, 2016

Copy link
Copy Markdown
Contributor Author

EDIT: scrap the following, it might be possible.

A swift research sheds no light on using git diff/apply for non version controlled files. Would you like be to use PowerShell for patching or are the file copy patches OK?

@Stinkfist0

Copy link
Copy Markdown
Contributor Author

I'll take that back: git diff works OK but I cannot figure out how to use git apply for untracked files: the command runs successfully but it doesn't alter the file at all.

@Stinkfist0

Copy link
Copy Markdown
Contributor Author

So, if this satisfies you as is, it's ready for merging. I can squash the commits if wanted.

@aothms

aothms commented Sep 1, 2016

Copy link
Copy Markdown
Member

Thanks, works like a charm, as always.

I wonder why on earth OCCT has changed usage of bool to unsigned int, oh well...

Yeah, this is a bit peculiar. Maybe a better way to go about this would have been to use !!b rather than b!=0. As the first one would be less awkward when OCCT decides to typedef Standard_Boolean back to bool. Or doesn't it get rid of the warning? Well, doesn't matter.

Just have one small thing relating to this ever annoying PCRE library dir. I will commit it after merging.

Did you happen to test slicing Duplex by any change on Linux with OCCT 7.0.0?

No, I will. It doesn't crash on Windows or you just didn't happen to check?

I can confirm the same happens on Windows. Will have a look.

@aothms aothms merged commit 64dc2ea into IfcOpenShell:master Sep 1, 2016
@Stinkfist0 Stinkfist0 deleted the win_occt_7.0.0 branch September 7, 2016 09:16
Andrej730 added a commit that referenced this pull request Jun 30, 2023
To avoid validation errors on creating wall mounted railings

    #143=IfcShapeRepresentation(#15,'Body','SweptSolid',(#116,#126,#129,#139,#142))
Rule IfcShapeRepresentation.CorrectItemsForType:
    IfcShapeRepresentationTypes(self.RepresentationType, self.Items)
Violated by:
    False
     +  where False = IfcShapeRepresentationTypes('SweptSolid', (#116=IfcSweptDiskSolid(#115,10.,$,$,$), #126=IfcExtrudedAreaSolid(#120,#124,#125,20.), #129=IfcSweptDiskSolid(#128,10.,$,$,$), #139=IfcExtrudedAreaSolid(#133,#137,#138,20.), #142=IfcSweptDiskSolid(#141,25.000000372529,$,$,$)))
     +    where 'SweptSolid' = #143=IfcShapeRepresentation(#15,'Body','SweptSolid',(#116,#126,#129,#139,#142)).RepresentationType
     +    and   (#116=IfcSweptDiskSolid(#115,10.,$,$,$), #126=IfcExtrudedAreaSolid(#120,#124,#125,20.), #129=IfcSweptDiskSolid(#128,10.,$,$,$), #139=IfcExtrudedAreaSolid(#133,#137,#138,20.), #142=IfcSweptDiskSolid(#141,25.000000372529,$,$,$)) = #143=IfcShapeRepresentation(#15,'Body','SweptSolid',(#116,#126,#129,#139,#142)).Items
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MSVC debug build broken Windows/MSVC: possibility to build official latest Open Cascade (7.0.0) instead of OCE

2 participants