Utility to inspect OpenCascade models

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
Quaoar
Posts: 63
Joined: Thu Jul 27, 2017 11:56 am
Location: Nizhny Novgorod
Contact:

Utility to inspect OpenCascade models

Postby Quaoar » Fri Jul 28, 2017 6:20 am

Guys, just let me share my research project for inspecting B-Reps and prototyping geometric algorithms: http://analysissitus.org

Here is a paper we presented at CG conference this year: https://www.researchgate.net/publicatio ... penCascade

I use the software daily to prototype geometric modeling algorithms and to inspect B-Rep models. Hope you will find it interesting. Any feature requests are welcome.
Last edited by Quaoar on Sat Oct 13, 2018 2:07 pm, edited 3 times in total.
FOSS CAD model inspection utility and prototyping framework: http://analysissitus.org
User avatar
tanderson69
Posts: 1500
Joined: Thu Feb 18, 2010 1:07 am

Re: Utility to inspect OpenCascade models

Postby tanderson69 » Sat Jul 29, 2017 12:14 pm

congratulations. This looks like a great project. I look forward to using it in the future.



I read your paper and one thing in particular caught my eye.
Likewise, [Seo et al. 2005] base their
algorithm on Parasolid kernel which offers an advanced face removal operator
I am a big fan of the face removal functionality. So much so, that I spent some time developing similar functionality. Algorithm is basically a sloppy prototype, but I have had some success with simple parts. Here are some screen dumps from open shell models turned into solids.
combined.png
combined.png (703.42 KiB) Viewed 1636 times
Jee-Bee
Posts: 1969
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: Utility to inspect OpenCascade models

Postby Jee-Bee » Sat Jul 29, 2017 1:31 pm

tanderson69 wrote:
Sat Jul 29, 2017 12:14 pm
I am a big fan of the face removal functionality. So much so, that I spent some time developing similar functionality. Algorithm is basically a sloppy prototype, but I have had some success with simple parts.
Looking Good would be a nice future feature!!
User avatar
Quaoar
Posts: 63
Joined: Thu Jul 27, 2017 11:56 am
Location: Nizhny Novgorod
Contact:

Re: Utility to inspect OpenCascade models

Postby Quaoar » Mon Jul 31, 2017 8:46 am

Thanks for checking the tool. I will continue working on it.
tanderson69 wrote:
Sat Jul 29, 2017 12:14 pm
I am a big fan of the face removal functionality. So much so, that I spent some time developing similar functionality.
Can you share some details? Like, is it available in FreeCAD, which papers you read/published? Your screenshots look promising!
FOSS CAD model inspection utility and prototyping framework: http://analysissitus.org
User avatar
tanderson69
Posts: 1500
Joined: Thu Feb 18, 2010 1:07 am

Re: Utility to inspect OpenCascade models

Postby tanderson69 » Tue Aug 01, 2017 9:01 pm

Quaoar wrote:
Mon Jul 31, 2017 8:46 am
Like, is it available in FreeCAD
No. For me, experimenting with occt inside of freecad is just too slow.


Quaoar wrote:
Mon Jul 31, 2017 8:46 am
which papers you read/published?
The link you provided is the first paper I have seen on the subject. I am not sure what the proper nomenclature is, so I don't think I spent much time looking.


Quaoar wrote:
Mon Jul 31, 2017 8:46 am
Your screenshots look promising!
I didn't show the ones that fail. ;)
User avatar
Quaoar
Posts: 63
Joined: Thu Jul 27, 2017 11:56 am
Location: Nizhny Novgorod
Contact:

Re: Utility to inspect OpenCascade models

Postby Quaoar » Fri Aug 11, 2017 5:35 pm

Can you expand why you need this face removal operation? Are you preparing your CAD to CAE or what?
FOSS CAD model inspection utility and prototyping framework: http://analysissitus.org
User avatar
tanderson69
Posts: 1500
Joined: Thu Feb 18, 2010 1:07 am

Re: Utility to inspect OpenCascade models

Postby tanderson69 » Sat Aug 12, 2017 5:37 pm

Quaoar wrote:
Fri Aug 11, 2017 5:35 pm
Are you preparing your CAD to CAE or what?
I can see that as a use case, but CAE really wasn't a consideration when I was working on it. I was thinking more of a general modeling feature. I used this functionality inside UG for years. Not all day every day, but enough that I miss it. Here is a scenario where it would be useful.



Consider the following picture, where a model has been imported into a software via step.
01.png
01.png (26.48 KiB) Viewed 1353 times




Now you decide that the radius is too small and you want to enlarge it. This model has no history, so you can't just edit a parameter and update. Here you run the super magic face removal command and get a model that doesn't have a radius.
02.png
02.png (23.03 KiB) Viewed 1353 times




Now you can simply add the radius you want.
03.png
03.png (29.64 KiB) Viewed 1353 times




Sorry to hi-jack your thread. We can move this conversation to another thread or venue if you want.
User avatar
Quaoar
Posts: 63
Joined: Thu Jul 27, 2017 11:56 am
Location: Nizhny Novgorod
Contact:

Re: Utility to inspect OpenCascade models

Postby Quaoar » Sun Aug 13, 2017 12:30 pm

Looks awesome! I have little experience with SpaceClaim which offers similar functionality through ACIS. Have you implemented this algorithm based on Euler operators? Do you have a repository for your algorithm?
FOSS CAD model inspection utility and prototyping framework: http://analysissitus.org
User avatar
tanderson69
Posts: 1500
Joined: Thu Feb 18, 2010 1:07 am

Re: Utility to inspect OpenCascade models

Postby tanderson69 » Sun Aug 13, 2017 2:57 pm

Quaoar wrote:
Sun Aug 13, 2017 12:30 pm
Looks awesome!
I might have misled you. The scenario I laid out in the preceding post was just a 'use case' example . I did NOT use my algorithm on that model in the pictures.



Quaoar wrote:
Sun Aug 13, 2017 12:30 pm
Have you implemented this algorithm based on Euler operators?
Don't know anything about euler operators, so no



Quaoar wrote:
Sun Aug 13, 2017 12:30 pm
Do you have a repository for your algorithm?
No I don't. It is currently intertwined with a couple of other personal projects, so it is not easy to separate. I really haven't done anything elegant. The basic process.

find open boundary.
intersect geometry of all boundary faces to curves.
intersect all curves to vertices.
use Euler characteristic to eliminate invalid curves and vertices until 1 solution for each boundary face.

Here is a reference picture and I have attached the svg it was created from.
openBoundConceptGraph3.png
openBoundConceptGraph3.png (193.03 KiB) Viewed 1308 times
Attachments
openBoundConceptGraph3.svg
(143.81 KiB) Downloaded 80 times
User avatar
tanderson69
Posts: 1500
Joined: Thu Feb 18, 2010 1:07 am

Re: Utility to inspect OpenCascade models

Postby tanderson69 » Wed Aug 30, 2017 1:07 pm

I finally took a little time to check out your project. I was disappointed it is basically windows only.