Use your sketch on plane 2 as a profile sketch for a sweep feature. Control the direction of the sweep with another sketch, use as path sketch. Make the sweep go through the plane you want to convert the original sketch onto. Cut the solid body that the sweep created with the plane you need the projected sketch on. Sketch on new plane and convert edges of solid body.
Kind of messy and long to get there, but it'll work assuming I understood your problem correctly.
Let me add a few suggestions in additions to Mark's.
1. Use the sketch to extrude a surface with a direction (second field).
See the example attached to this paragraph:
2. Use the "Intersection Curve" tool between the new surface and the other plane to create the "projection".
is it possible to project a sketchpoints on a face in a given direction ?
I tried to use this macro with some changements but It does not give me anyresults:
Dim swApp As SldWorks.SldWorks
Dim swModel As ModelDoc2
Dim mathUtils As MathUtility
Dim boolstatus As Boolean
Dim swModelDocExt As SldWorks.ModelDocExtension
Set swApp = Application.SldWorks
Set mathUtils = swApp.GetMathUtility()
Set swModel = swApp.ActiveDoc
Set swModelDocExt = swModel.Extension
boolstatus = swModelDocExt.SelectByID2("Point1@Esquisse3D47@P ROUGE-1@Assemblage2radif", "EXTSKETCHPOINT", 8.01721109677942E-02, 0.06475, 0.025, False, 0, Nothing, 0)
Dim swPt As SketchPoint
Set swPt = swModel.SelectionManager.GetSelectedObject6(1, -1)
Dim Mpt As MathPoint
Dim swPoint(2) As Double
Dim swArr As Variant
swPoint(0) = swPt.X
swPoint(1) = swPt.Y
swPoint(2) = swPt.Z
swArr = swPoint
Set Mpt = mathUtils.CreatePoint(swArr)
Dim rayVector As MathVector
Dim pointdir(2) As Double
Dim vArr As Variant
pointdir(0) = 0
pointdir(1) = 0
pointdir(2) = 1
vArr = pointdir
Set rayVector = mathUtils.CreateVector(vArr)
boolstatus = swModelDocExt.SelectByID2("", "FACE", 2.68354389024239E-02, 0.126985851602953, 0.167323545036709, False, 0, Nothing, 0) 'Chnage with your Face selection
Dim face As Face2
Set face = swModel.SelectionManager.GetSelectedObject6(1, -1)
Dim surface As surface
Set surface = face.GetSurface
Dim InterSectpoint As MathPoint
Set InterSectpoint = surface.GetProjectedPointOn(Mpt, rayVector)
If InterSectpoint Is Nothing Then swApp.SendMsgToUser "Point is not on the selected face"
An easy way to do this Korbi would be to just create a second 3D sketch and put lines in it. With one end of the line coincident to your sketch point. The other end of the line coincident to your angled plane. And make the line perpendicular to your plane that the sketch points are on.
Now you have points that you can use.
Thank you very much dear Dan for your answer . it lool like a good answer . Just there are some details that I cannot understand . if you like can you attach a picture or video to understand more? thanks
After you create your lines. Then create another sketch on the green angled face. Create sketch points on the sketch, and make them coincident to the endpoints of the lines.
Yeah I understand your method but if I will do this with API it lool like difficult for me ! much operarion !!
Oh, I have no idea how to do this with API. LOL. I might be able to figure it out, but it would be a lot of trial and error. I am not a Macro Guru like Deepak!
where is the video ? I don't know maybe I have another method. if we consider for exemple one point in input. I I will measure the distance between this point and the angled in Z direction for exemple ! after I will try to conserve x , y coordinates and Z'=Z+distance like this maybe I can insert points on the angled face ! no ?
You can't see attachment when you are viewing a thread in your inbox. You have to click on the title of the thread and "open" the thread to see attachments.