Is there an Arc length dimension in Rhino? I have it in AC. Also a break tool for when dimension cross other dimensions? If not, WIP 8?
2 Likes
Assigned to Rhino category.
No Arc length command, but you can use a Leader and use the Crv length tool to get the length.
No break tool as described before. You can use the Mask on the annotation font and if the text is located over the dim line, it will break it.
Any clever way to do it in grasshopper ?!
thank you,
C.
I made this with ai haha. Limited testing.
import rhinoscriptsyntax as rs
import scriptcontext as sc
import Rhino
import System
def CurveLengthLabel():
# Function to get curve object
def GetCurveObject():
go = Rhino.Input.Custom.GetObject()
go.SetCommandPrompt("Select curve to measure")
go.GeometryFilter = Rhino.DocObjects.ObjectType.Curve
go.Get()
if go.CommandResult() != Rhino.Commands.Result.Success:
return None
curve_obj = go.Object(0)
return curve_obj.Curve()
# Get the curve
curve = GetCurveObject()
if curve is None:
return
# Calculate curve length
curve_length = curve.GetLength()
# Format length with appropriate precision
length_text = "{:.2f}".format(curve_length)
# Get point for text placement
point = rs.GetPoint("Pick location for length label")
if not point:
return
# Create text object
text = "Length: " + length_text
text_obj = rs.AddText(text, point)
# Optional: Adjust text properties
rs.TextObjectHeight(text_obj, 1.0) # Corrected method name
# Add to document
sc.doc.Views.Redraw()
return Rhino.Commands.Result.Success
# Register the command
if __name__ == "__main__":
CurveLengthLabel()