Q How do I create an offset copy of a DGN line element? This question arose on the Be Communities MicroStation Programming site.
A This solution was provided by Leonard Jones, a MicroStation staffer and Python evangelist.
This code first creates a line element using the DraftingElementSchema
.
Then it make a copy of the line, also using the DraftingElementSchema
.
# Create line element using Curve Vector curve_elm = CurveVector.CreateLinear(points, CurveVector.eBOUNDARY_TYPE_Open) if BentleyStatus.eSUCCESS != DraftingElementSchema.ToElement(line_eeh, curve_elm, None, ACTIVEMODEL.Is3d(), ACTIVEMODEL): return False # Add the line element to model if BentleyStatus.eSUCCESS != line_eeh.AddToModel(): return False # Line1 element with Offset offset_distance = 1.5*mu offset = CurveOffsetOptions(offset_distance) curve_elm = curve_elm.CloneOffsetCurvesXY(offset) if BentleyStatus.eSUCCESS != DraftingElementSchema.ToElement(line_eeh1, curve_elm, None, ACTIVEMODEL.Is3d(), ACTIVEMODEL): return False # Add the line element to model if BentleyStatus.eSUCCESS != line_eeh1.AddToModel(): return False
Post questions about MicroStation programming to the MicroStation Programming Forum.