Creating simplified offset lines

Hello everyone,

So basically i wanted to make a simplified offset lines from an abstract lines
heres the example:
image

I wanted to create the red lines based on the black lines. its simplified the shape of the black lines.

what ive already tried using boundingbox,
so i make a surface from the polylines, then make it a solid by thicken the surface then get the upward surface perimeter lines… but that cant handle if its shaped L or U.

How do i achieve this?
Thanks in advance!

PolyCurve.OffsetMany should do the trick. Offset first outward by a big distance, say the diagonal of the domain, that will remove the details. Then offset inward by the same distance less the real desired offset.

11 Likes

Hi @najwan.joan.sv,
Here is an example that will give you an idea of what you’re looking for.
practice.dyn (65.9 KB)


4 Likes

ahh i see, maybe this isnt compatible to every cases, what if its has bigger scale or something. maybe it can but must be tweak the margins or distance.

Thanks btw !

ohh, havent never ever thought that!, brilliant way to do this trick.

but in my case its must be running at extra large geomtery scaling to make the extendcircular turn to false.

Thanks you very much!

2 Likes

Wow this could actually solve a lot with room boundaries that are missing. Would this also work if you offset it back to 0 (so not actually offsetting it but simplifying the curves)?

It would have to do this with a certain margin though, so that walk-in closets aren’t filtered out but 5mm jumps near doorplints are…

You are pretty smart sometimes @jacob.small :grin:

Najwan.Joan.SV_DynamoRevit_SimplifyOffset.dyn (22.9 KB)

@RevitRobot indeed it does work :star_struck:

12 Likes

Okay so how do I consistently grab the correct bottom left corner now to place my roomtag nearby with an offset?

I tried so many methods in determining the bottom left corner, yet it can never achieve 100% accuracy. You always end up with this weird enough shape that the bottom left corner doesn’t work or matters. (as in an P shaped room where the stem is too small to keep a tag readable)

Quite a different topic, finding the logical center of a room, while this was about removing niches and such from a PolyCurve.

This share out topic I posted recently might help out: Logical Center of Surface

I’m not looking for Room centers but Room most left corner point. As it is our office standard to annotate that corner and not the center of the room (has to do with O shaped rooms because of swimming pools)

Again, this question is a different topic, so please move to another thread - we can take this one there and leave this solution for those who want to simplify a shape.

It’s stacking on the topic. If you use this simplified curve method for rooms, then how can you set the sensitivity for a corner? What if the corner is outward instead of inward?

Hi @RevitRobot why stacking on the that question, when as so long i read it its a another thing, guess the origonal question is already answered, if we just continue to do so we will end up in 1 thread without any system in questions and answers …cheers :wink:

I think there is a misinterpretation of my question then. Allow me to rephrase.

This method of simplifying curves could potentially be applicable to Room boundaries.
For the Rooms I set the Room Tags in the bottom left corner.

However as this method doesn’t really show how it chooses to go towards an outside boundary or an inside boundary and it seems a bit random. I would like to know how we can use this method’s sensitivity to control which way the offset applies. Is there a ratio I should be aware of?

So I can use it on surfaces where certain parts are sticking out much more than the sticking in?

2 Likes

I believe what you are looking for is just the inverse of @JacobSmall suggestion.

The blue is the simplified shape.

If this is not what you are looking for then you probably are off topic and should start a new thread with reference to this one as needed.

2 Likes

Alright, I will give it a shot