Additional Option/Method for CreateSolid


#1

Hi,

Sometimes CreateSolid method creates few closed volumes based on the input Breps.
Now, I am looking for a way/option when I can select to create only those closed volumes, created by all input breps.

Is fast solution possible?

Thanks,
Dmitriy


(Dale Fugier) #2

Hi @Dmitriy,

Sorry I am not following. Are you using RhinoCommon? What method are you calling?

– Dale


#3

Hi @dale
yes, I am using Brep.CreateSolid in RC.
Solution I have now is as following:

  1. Get list of closed solids from CreateSolid
  2. For every solid go through all given limits by analyzing each face of the limit. At least one corresponding surface to be found within faces of the solid. If not - present solid is not created by using all given limits.

This is however an iterative way and can be rather slow in case of many faces. So, maybe, there is more efficient/faster method to check it.

Thanks,
Dmitriy


(Dale Fugier) #4

You could also just call Brep.CreateSolid for each Brep, instead of all at one time…

– Dale


#5

Hi @dale,

Sorry, I am not following you. I am doing this for every Brep separately resulting from CreateSolid command.
However CreateSolid gives always all closed volumes, created by any given limits.

Thanks,
Dmitriy


(Dale Fugier) #6

Hi @Dmitriy,

I guess I don’t understand your original question - sorry.

– Dale


#7

Hi @dale
I try to be more clear.

See file enclosed.

ToDale.3dm (108.5 KB)

Left side 6 limits are given. When using all of them in CreateSolid -> 2 closed breps are obtained (right).
But, red brep is formed using all 6 input limits, and blue one - only 5.
My question was referring to the most efficient way how to keep only red brep in the resulting list and skip a blue one.

Hope, now it is more clear.

Thanks,
Dmitriy


#8

If you want to know which BREP has the same number of surfaces as the input BREPs have, why not just add up all the surfaces in the input BREPs and compare


#9

Hello Jim,
Not sure I am following… Can you explain?

Thanks,
Dmitriy