Project Curve to Surface (NURBS)

https://user-images.githubusercontent.com/14288520/210410308-02ecf99b-a014-44af-95db-f799c819c2cd.png

Dependencies

This node requires FreeCAD libraries installed to work.

Functionality

This node calculates the projection of a given Curve onto given Surface. Several types of projections are available.

https://user-images.githubusercontent.com/14288520/210420319-d09d466d-e10b-4034-bdcf-1e096ba9d264.png

NOTE: This node can work with NURBS and NURBS-like curves and surfaces only. Output curves are always NURBS.

https://user-images.githubusercontent.com/14288520/210420587-ede263d9-7157-4049-9b6d-fc259dd19612.png

Inputs

This node has the following inputs:

  • Curve. The curve to be projected. This input is mandatory.

  • Surface. The surface to be projected. This input is mandatory.

  • Vector. Parallel projection vector. This input is available only if Projection parameter is set to Parallel. The default value is (0, 0, -1) (down along Z axis).

  • Point. Perspective projection origin point. This input is available only if Projection parameter is set to Perspective. The default value is (0, 0, 0) (global origin).

https://user-images.githubusercontent.com/14288520/210423685-214ce79b-ac75-42de-8891-4994a555c5d3.png

Parameters

This node has the following parameter:

  • Projection. This defines what sort of projection will be used to calculate the trimming of the Surface. The available options are:

    • Parallel. Parallel projection along a provided Vector. This option is the default one.

    • Perspective. Perspective projection from a provided origin point.

    • Orthogonal. Orthogonal projection (along surface’s normals).

https://user-images.githubusercontent.com/14288520/210425961-e0048063-dcfd-4c8c-b1d3-153b9e956a72.png

Outputs

This node has the following outputs:

  • Curves. The projected curves (in 3D space).

  • TrimCurves. Curves in U/V parameter space of the surface, which correspond to the projected curves. These can be used as trimming curves, for example, for “Tessellate & Trim” node.

https://user-images.githubusercontent.com/14288520/210426571-a964981e-0ae2-439a-93d6-e7cd661ca965.png

Example of Usage

Project several Circles onto a Surface generated by lofting between three NURBS curves:

https://user-images.githubusercontent.com/284644/92305855-6e27d280-efa4-11ea-8309-a78bb9c7e152.png

Replay with new nodes:

https://user-images.githubusercontent.com/14288520/210429481-78646f61-c9ec-4d83-a011-67d13492a93a.png