It appears the Lunchbox Wall Element Collector returns the location line of a wall based on family type, which means it will be the centerline of the wall type. I notice that each wall has a parameter “Location Line” which can be set to Finish Face Interior, Centerline, etc. Is that parameter literally changing the location line for that particular element? Is it possible to return that line rather than programmatically calculating the location of the Finish Face from the Type Location Line?
Is that parameter literally changing the location line for that particular element?Yes, but without moving the element.
Is it possible to return that line rather than programmatically calculating the location of the Finish Face from the Type Location Line?I don't think so. I think you'll have to use the compound layers and their respective widths.
Ahh…so I assumed that would be the case and I decided I would use the Location Line parameter to pass the appropriate offset for the Location Line. I used the GetParameterValue to determine how the line was placed. Why is 0.000 not being seen as a match to List?
Embarrassing to show how little I understand about python, but I did manage to get something that works…
More progress. I have curves being offset based on whether the wall location line is set to Wall Centerline or Finish Face Interior. But, I can’t seem to control the direction of the offset. Anyone have an idea of how I might control that? I would always want the offset to be toward the exterior. And it would be great to connect corners as long as I am getting greedy.
Sorry, thought I had another idea, but I realized it wouldn’t work…and I don’t know how to delete a reply :oops:
The easiest way to offset all the curves uniformly is to add them to a poly-curve beforehand.
One more thing: If you always want the offset to be the finish face, you can make use of the fact that the location line that is being returned for a wall is always the wall centerline: Just pull the overall width from the respective wall type, divide it by 2 and you have your offset.
@Dimitar… I learned that lesson from you before and agree, but in this case I don’t want all the curves offset uniformly. I want to evaluate each curve (line) and offset based on the location line set for the wall from which the curve is generated. My problem doing that was curves (lines) offset in unpredictable directions. But I had a bit of a breakthrough. I thought a surface would offset more predictably and found if I Curve.Extrude and then Surface.Offset, I get exactly what I am looking for! BUT…I now want to clean up the intersections of the offset surfaces. Basically trimming or extending to create corners…then I can create a surface bypatch to get the boundary I want and use it to feed Clockwork.AreaSeparator.FromCurve.
@Andreas…thanks for that tip…sometimes I try to make things too complex and overlook a simple solution. I will need to find the finish face interior using your suggestion and then offset again based on layers to define the area I am looking for.
How did I miss the Curve.ExtendEnd and Curve.ExtendStart !!