Grasshopper

algorithmic modeling for Rhino

Hello

I have a problem again! I want to remove/delete points (buildings) in my surface. And I don’t know how to do it?

Views: 2674

Replies to This Discussion

Don't see any points going on in your images.

Do you mean, you want to cull items, that intersect your surface(region)?

My buildings are made from point. Yes I want to cull – delete/remove items, that intersect my surface.

Two ideas:

1) extrude the surface to a closed BRep (extrude + cap) and use the Inside componnent

2) calculate SrfClosestPoints points that have a distance near 0.0 (don't check for 0.0 because of document tolerance) are inside or very close to the surface.

use the output as pattern to cull from the list of points.

The Inside componnent does it remove/delete the point? Or what function does it have? Bacause when I put my value in B and P nothing happens.

It only tells you whether a point is inside the shape or not. You then have to take that True/False information and use it to cull your original points.

--

David Rutten

david@mcneel.com

Poprad, Slovakia

Now I have found the point in the surface with Cull function, but how can I delete the building on the point? The cull list gives one coordinate (the point in the surface) and I don’t know how to get it in to my system, so the building is deleted?

could you share your files?  That would help.

Yes, but it is a little messy. I'm sorry :s I hope you can understand it. I want to delete the buildings that is in the surface, and I have found the point/points in the surface.

 

Attachments:

Ok Marie, here's what I suggest.

I would suggest using a containment component (found under analysis in curve menu).

The input P is your building control points and the C input is your curve (in this case the circle).

The output R generates a list of integer: 0 if point is coincident, 1 if point is on the curve and 2 if point is outside the curve region.

Using this, you could cull (cull pattern component) all buildings (connecting the building breps to the L input) according to if their are smaller (math/operators/smaller then) or equal to 1 by connecting the output of this component to the P input of the cull component.

As David said, Inside tells whether a point is inside a BRep.

Cull actually selects and returns the all the points that correspond to "true" in the pattern. So it returns all points inside. You want the inverse to happen.

Boolean values can be inverted with the GateNOT. Every true becomes a false and the other way around.

Now Cull will return not what was inside, but what was outside the BRep.

btw.: I always get confused by the cull component. My first encounter with the word was with "backface culling"... which actually does the inverse. It removes backfacing faces. :)

Thank you all for you answers! I think it works now :)

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service