Community Tip - New to the community? Learn how to post a question and get help from PTC and industry experts! X
I am trying to create a curve between two points(3D) on a surface that should trace the Manhattan distance instead of an Euclidean distance. How do we achieve this in Creo 9?
I have already tried the "Curve through Point and Direction" option and it doesn't work for my case as it requires additional direction reference.
FYR
I would appreciate it if anybody could help.
I am not well versed in the math of this concept, but I would ask why the curve through points using straight line option does not work. Is it because you need to be able to assign the orthonormal basis used to define the unit vectors before connecting the points? Creo does have a transform function to map between csys features. If you explain what is not working with curve thru points, then someone here may have a workaround.
thanks for the insights. it is possible to achieve the same using "curve through points" but it is a bit difficult in my case as i want to place these curves on a curved surface. even if i compute the vertex, how can i exactly place this on a curved surface?
P.S. I am using Protoolkit to place these curves on a curved surface (as a UDF) by just getting the two nodes as input.
This is not a function in available in Creo. I am not sure exactly what you are looking for. You could add a third point to define the corner of curve or project a sketch onto the surface.
I did quick test on a 2D case, and it is possible to shift the basis used. I am not sure this is a solution, but this video shows that using a csys shift; the points and path change based on the transform. This example is independent of the basis used to create the points on a plane. I am defining the basis used for the path in the sketch feature defining the points. In theory you should be able to shift the basis used for the path in 3d space as well.
I don't really understand the scenario of what you're looking for.
It seems like the problem is underdefined.
Is the solution you want two linear segments? Even if you were dealing with just a 2D set of curves, you still need to know a vector or something that specifies either the "horizontal" or "vertical" direction for the line leaving one or the other of the vertices.
If you know the direction of either the "horizontal" or "vertical", the problem is (if my vector math is okay):
(1) Calculate a vector in 3D-space from point 1 to point 2.
(2) Calculate the dot product of this calculated vector and the unit vector that defines the "horizontal" or "vertical".
(3) Use the calculated dot product to scale the "horizontal" or "vertical". This is a 3D vector from one point to the corner.
(4) Add the scaled "horizontal" or "vertical" to the starting point. This will give the coordinates of the corner point.
If you're only doing this for one point in Creo, it isn't too bad. If you need to do a non-trivial number of points, it's going to get tedious.
thanks, i am looking if there is an in-built option in Creo to achieve this. because I want to place these curves on a curved surface, so it would become even more tedious to calculate the uv of the vertex point.