Closed Curve as boundary for random points on a plane

I apologize for the business card on the forum. I replied to Aris on my email not realizing the automatic connection to the forum. Auto-linkages are great…as long as one understands what happens when you ‘reply.’ I also didn’t realize my website would connect to the forum as a link with email replies! ‘Neophyte-ism’ at it’s best.

Joseph…what you demonstrated is what i am doing. The GH file i had was huge and it did not work. That is why i posted my goal without a file. Clearly you and Aris understood my challenge - so at least i wrote the post well. To get to this point I went through 6 hours of GH training videos with Andres to get some idea of where to start. I am still at a loss as to how to move from the visuals in my head and programing on the canvas. You and Aris have provided a ton of instruction. Thanks so much for the help.

I am assuming that by replying on the GH website my web URL will not be connected. At least it does not look like it will…

No problem. I found it interesting. :wink:

// Rolf

1 Like

I really have no idea what that means or how it happened accidentally? You can still edit that reply and remove the link to your web site and the image of your business card.

When you post a screen shot of code/geometry like you did, it’s reasonable to assume you have a file and could post something more useful than an image. It really saves so much time and makes it easier to offer help. I didn’t post my code file because you didn’t post yours. See what I mean?

I added very little to @anikolo’s code and my screen image is clear enough to reproduce it, isn’t it? I extruded the Boundary surface down ("-x" expression on Extr ‘D’ input) to create a solid, moved the spheres up (‘Z’ vector) by a fraction of their respective radii (‘height’ slider), and then subtracted them (SDiff) from the extrusion solid. Simple.

As to how to handle spheres that cross the boundary edges, you can ignore that detail as I did, or you can cull spheres that cross the edges before doing the SDiff, or you can reduce the radii to not exceed the distance to the nearest edge using Crv CP (Curve Closest Point).

Honestly Joseph, i think you are overestimating the significance of your opinion.

We can all make mistakes (me included), and we can loose temper for some reason that really matters to the individual and… but attacking people all the time is not a good sign.

This forum is becoming a hostile place nearly everytime a certain individual is posting. New comers gets it right up their faces although they cannot reasonably know exactly where you draw a line for… Phew.

This is not how this forum would be without those constant bitter attitudes.

Should I say this? Probably not. But I did say this anyway.

// Rolf


To begin, I appreciate everyone’s comments…at least so far.
RIL, thank you for your balance.
Joseph, I really am thankful for the help. However, as a neophyte on GH and Rhino - although i have taken the Rhino 1 and 2 classes online twice each and GH once with Andreas and have been using Rhino and RhinoCAM for a few years now - i am still slow. Last year, at 65 I confirmed i have Asperger’s. I figured it out only a couple of years prior. Not a fun realization this late in life, but so much of my past makes sense now. I only share that to enlighten others that we may not understand where the other person is when we help. I will have to examine your GH file very closely to understand it. GH is quite a language and takes a lot of practice. Clearly, you speak it very well.

Regarding the spheres coming to the edge of the boundary curve, once i fill the boundary i can simply trim using the curve, in Rhino or GH…These inputs have interceded after hours of struggle. Thanks again!!!

Nothing needs to be trimmed. The spheres are subtracted from the extruded solid, leaving only the divots. It doesn’t matter if they cross the edge or not - unless you want to handle edges differently. Most of my code comes from @anikolo’s earlier post, so start with that (his first reply).

@RIL, everyone has an opinion… Commercial self promotion on forums is widely considered to be spam. Not posting a GH file or geometry with the initial question on a thread is widely considered to be rude, with rare exceptions. It ignores the forum standard practice as recommended in How to ask effective questions and makes it more difficult to offer help, practically and “socially”.

What happened is he actually responded to the email discourse sends you as an email. So this means his email signature (which is his website) went through with the response as well. Discourse let’s you post response via email. Unlike most services which have a "do not respond to this email "

Hi Joseph,
I’m comparatively a new member but the way I see it, he did it only once and he even apologised. I don’t think it’s worth grilling him. Let’s keep the positive vibes strong! :peace_symbol: :heart_decoration:


Thank you for explaining that. Now the accidental link and business card make more sense. Confusing, though, that screen images of a GH model got mixed up with the signature? And alarming that if I replied to those emails, my phone number would appear in my forum post?! This is the first time I’ve ever seen an email signature on this forum.

The issue of not posting a GH model and/or geometry is still a legitimate gripe. Most of the time I spent extending @anikolo’s model was creating the boundary curve similar to the shape in @CRHill’s screen image, which could have been avoided had he posted his own. I converted a vector map of Italy’s border instead.

Attachments in the eMail are attached at the bottom of the posts here in Discourse.

They are rather frequent on the regular Rhino for Windows category.

It is confusing for many users, both those that send and those that read. Most of the time, the sender is not aware that he/she is answering to an entire group and not just an individual.

Thanks to all who have helped. Joseph, i took your suggestions and slowly worked through your image attempting to understand each component. My first program had 4 component sets with random number generators to put points inside my curve that i was then attempting to cull out only those inside. I was lost.

Here is my latest. My problem now is that i can’t Boolean Add in Rhino. BOTH files will be attached - when i find that option on the conversation. Anybody out there with Boolean experience in Rhino that can help?


Sphere dents in pendant random (16.6 KB)

My Rhno file is too big…I am cleaning up what i can to reduce it…thanks for the patience

Here is the Rhino file…Silver lake Pendant HAMMERED GH design GH Question file.3dm (15.9 MB)

Here is my latest attempt in picture form…if Rhino won’t Boolean Add then GH won’t either…



Will need a higher resolution screen shot of the code to translate/fix for Rhino 5.

This is all in Rhino 6 because GH is now part of Rhino. I have Rhino 5 but am attempting to stay up with the good changes McNeel is providing.

You could internalize the geometry in your GH file, skipping the Rhino 6 file issue. And provide a screen shot at 100% standard size so the subtract and multiply components can be replaced. (86.7 KB)

WARNING!!! High ‘Sphere count’ (300) so SDiff takes ~48 seconds on the profiler, below! (86.4 KB)

I put a screenshot in my last post…it didn’t come through!

let’s see if it works this time…

What i understand from your post is that i need to change out my SDiff and AxB components and run the file again… is that right?

I changed the SDiff to a Solid Union. That does not work. I tried enlarging the hammered surface by 1/2% and shrinking it the same amount to Boolean Add since that often fixes it in other designs, but it did not work.


Your solution looks very good. Thanks for all the help.
My surface needs to become integrated into a silver pendant. Currently, the surface is flat and i mirror finish it after casting in silver. The hammered look is much nicer and stays brilliant longer due to not seeing any scratches on it. My problem with the file now is that this new closed polysurface will not union to the old pendant. I am looking to understand why i can’t get a Boolean Add in Rhino or a Solid Union in GH. I still need to update my tools to see the status of a polysrf.