Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: Plane-based line tools #135

Open
andydandy74 opened this issue Mar 11, 2014 · 12 comments
Open

Feature request: Plane-based line tools #135

andydandy74 opened this issue Mar 11, 2014 · 12 comments
Labels
Geometry Geometry improvements Nodes Nodal improvement

Comments

@andydandy74
Copy link

We need the ability to create not only point-based lines or lines that are drawn on the XY plane. Please let us pick a plane and draw on it, just like in the Revit UI. Working with transforms is a pain ... ;-)

@tatlin
Copy link

tatlin commented Mar 11, 2014

not just drawing in the XY plane but any input plane.

Note curves in the underlying revit API take in a sketchplane in the constructor, we have simply hidden that for convenience but it gets in the way in this example.

now that we have support for defaulted,optional input parameters we could keep the current behavior as the default if no explicit plane is passed in, else place the curve on the inputted plane.

@LevL
Copy link

LevL commented Mar 11, 2014

A week or two ago I added ability (new node "Model Curves From Curve Loop") to make model curves from planar curve loop, which will use underlying plane of curve loop, instead of picking plane per each curve. That might help to get model curves share same sketch plane after creation.

With respect to drawing on plane: I understood that you want to define curves in xy coordinates, then put result on destination plane. Basically same node as "Transform Curve", just instead of transform the node will take destination Plane. Is this right?

I think "Surface Derivatives" node at destination plane uv = {0.0, 0.0"} gives transform which just could be as input into "Transform Curve" node to get such curve.

@andydandy74
Copy link
Author

No Lev, sorry, my issue really is more with the missing plane inputs.

@LevL
Copy link

LevL commented Mar 11, 2014

Hi Andy, could you describe the desired node (new or changed existing node) with such inputs? Thanks.

@pboyer
Copy link

pboyer commented Mar 11, 2014

Hi guys,

Presently, the plane of the curve is discovered in order to derive the
SketchPlane for the ModelCurve.

It sounds like Andy is asking for a node with a SketchPlane and Curve
input. My only caveat is that the Curve may not be planar or not in the
plane - this may cause unfriendly runtime exceptions. However, it will
allow the user to pick a specific SketchPlane as described in the request.

~Peter

On Tue, Mar 11, 2014 at 10:47 AM, Lev L [email protected] wrote:

Hi Andy, could you describe the desired node (new or changed existing
node) with such inputs? Thanks.

Reply to this email directly or view it on GitHubhttps://github.com/DynamoDS/Dynamo/issues/1249#issuecomment-37303512
.

@LevL
Copy link

LevL commented Mar 11, 2014

a node with a SketchPlane and Curve
input.

then Curve is defined in 3d, not on a plane? It does sound to me that Andy is looking for ability to define curve in XY of plane's coordinate system.

@andydandy74
Copy link
Author

There are quite a few candidates.
The Circle node would be a good example:
plane
It wouldn't necessarily have to be a "plane" input - in this case "up" would be perfectly fine as well (in combination with the center XYZ).
My point is that in the Revit UI, it's extremely simple to create plane based linework: pick a plane, draw any type of model/ reference curve, done. In Dynamo, it's transform hell.

@LevL
Copy link

LevL commented Mar 11, 2014

Ellipse node accepts "center" input as point (and uses XY plane if the input is a point) or as coordinate system. Is that what you are looking for?

Node "Arc by Center, Radius, Parameters" needs x direction too, so coordinate system seems more appropriate.

"Circle" node would benefit from optional "axis" direction, but if predictable result is needed for evaluation at parameter, coordinate system seems more generic.

Line and spline nodes are point based, so I do not see need for coordinate system. Any other node needs coordinate system or similar input?

@andydandy74
Copy link
Author

Possible candidates:
The three nodes you mentioned would be ideal, Lev. Another obvious candidate would be Ellipse Arc. Yes, in some cases a coordinate system might make more sense - I think some of the curve commands in the Revit API expect an X and Y axis in any case.

Real plane-based linework:
In the long term, wouldn't it make sense to be able to draw any type of line on workplanes (like in the Revit UI)? A lot of modeling workflows in Revit depend on the associative relation between elements and their hosts. And we often use workplanes in Revit to drive geometry. Maybe that type of workflow isn't necessary with Dynamo anymore because Dynamo offers us another form of control (eliminating workplanes as proxy elements) - I don't know.
My feeling is that Dynamo currently leans towards XYZ-based workflows as compared to workplane-based workflows. I'd be interested to know if that is likely to become more "balanced" in the future.

@LevL
Copy link

LevL commented Mar 11, 2014

Ellipse and ellipse arc nodes already take coordinate system.
If the desire is to draw lines in Revit, what is wrong with drawing such lines and getting curves by selecting model lines and their geometry curves?

@andydandy74
Copy link
Author

Oops, my bad. My trouble started with the Circle node - I hadn't really looked at the other nodes in detail.
Drawing a line in Revit is perfectly fine. But if I want to create sweeps from a list of Dynamo-generated curves it becomes impractical.

@LevL
Copy link

LevL commented Mar 12, 2014

Sweep node has the following logic in it: if profile is located in the plane perpendicular to the path at the attachment point "Sweep" node takes the profile "as is" in 3d.
Otherwise (instead of previous failure) the "Sweep" node code takes profile and transforms to the coordinate system of the path at attachment point. The axes of both coordinate system are used from projection of Z axis (if zero then X axis is projected). Projection of (0,0,0) on the plane of profile is taken to attachment point during this transform.

In short, "Sweep" node could take profile in XY plane (not in the plane through attachment point), but resulting orientation requires some care. At least, the result will be computed as Solid and could be used for correction. Plus for full circle orientation is not a concern.

@Amoursol Amoursol transferred this issue from DynamoDS/Dynamo Apr 1, 2020
@Amoursol Amoursol added Geometry Geometry improvements Nodes Nodal improvement labels Apr 1, 2020
@avidit avidit moved this to Backlog in Dynamo Wishlist Sep 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Geometry Geometry improvements Nodes Nodal improvement
Projects
Status: Backlog
Development

No branches or pull requests

6 participants