Grasshopper

algorithmic modeling for Rhino

when subdividing a trimmed surface it still uses its untrimmed size

I have a trimmed surface. i am using the divide domain and isotrim command on to subdivide however the subdivided surface is giving me a subdivision of the original untrimmed surface. I even tried to surface rebuild and am still getting same results... whats the reason, and how do i solve? any help is appreciated thanks forum !

Views: 1838

Replies to This Discussion

The reason is that the subdivide etc is working on a "surface" (either on a per se basis or using the underlying data) whilst you have a brep ("surface" + trimming info) actually on hand.

I have several C# that do a variety of "similar" jobs. I'll post the simplest possible here soon.

Thanks Peter!!!

Well ... the good news are that this is very easy (works in any collection of Breps either trimmed or untrimmed or mixed or whatever). The bad ones are that R is INCREDIBLY slow with regard the "filtering" method (the only one working in any condition, mind).

I'll upload the thingy as soon as I'll add some divisions with zero more (tradition above all) and some chaotic options more (ditto).

This is the simplest possible (accepts mixed [trimmed/untrimmed] brep Lists etc etc).

Nerve braking slow (kinda like a Harley Davidson) due to just one method: the bool diff between the underlying surface and the brep (that way we get in a list the "culling" breps ... and the rest are history).

Note: If the "culling" brep is turned into a closed polysurface via the available option (offset BrepFace both sides etc etc) ... the whole thingy is 3 times slower: Mama Mia! Avoid at any cost.

Notice the by-pass (ignore trim info - if present) option.

Load Rhino file first (for the demo cases).

best

Attachments:

wow! had no idea this simple request would result in this... thanks!!!!!!!! will study. 

It's not a big deal at all (I've just removed various things instead of adding new code)... it's just ONE line (sTB = underlying surface as brep, b = OEM brep, tol = tolerance, k [not used] = Karma) ...

List<Brep> cullingBList = Brep.CreateBooleanDifference(sTB, b, tol).ToList();

... that performs the bool diff ONCE that turns me crazy (s   l    o   w).

Spend 5 minutes more on that one: by separating hare and tortoise ... well .. at least you can achieve "some" interactive capability with regard U/V values.

Spot the Elapsed values in these 2 C# (Only offset curve on surface is maybe slower ... )

best

Attachments:

the force is strong with you peter!  will study this. thanks

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service