I’ve done a script where you can create a beam using details lines. But I want to know if I can move the position of a beam to be inside the box. Its currently creating it outside the box, example below. Is there a way to change the position of the beam through dynamo?
You likely have an offset or alignment set for your framing instances. The direction of your detail lines will determine the (relative) direction of that offset/alignment. The more dependable method would be to keep your drawing alignment centered and then add an offset to your detail line locations to account for the beam width. That way the direction of the curves doesn’t matter.
Again, the better solution is probably to modify the geometry in Dynamo before creating the framing instance though. It’s much easier to make your geometry correct than to “fix” an element that’s already created.
The API is .NET. The documentation is usually in C# and other .NET languages, but you can convert it to be used in Python.
Can you create a script to show the arrows pointing upwards? Sure. You’re not changing the arrow though. You’re changing the direction of the beam. Rather than creating a beam sloping in the wrong direction and then fixing it, why not just create the beam in the right direction? The beam direction matches the detail curve direction. If you draw the curve in the wrong direction then you’ll have to “fix” the beam. Either draw the curve in the direction you want or have your graph ensure the curve geometry is correct before creating the beam.
As Jacob mentioned, Curve.Reverse will simply reverse the direction of the curve. You’ll still have to do some logic to determine which curves need to be reversed and which are already oriented correctly. But the idea is that you “fix” the geometry in Dynamo and then create the beams with the corrected curve.