Krzywa przechodząca przez punkty XYZ

Witam

Stworzyłem makro, które pozwala mi utworzyć krzywą przechodzącą przez punkty XYZ pobrane z pliku txt, w solidworks,

Nie mogę jednak edytować tej funkcji, aby zmienić kształt mojej krzywej z innymi punktami.

Jak mam to zrobić? ponieważ nie chcę za każdym razem tworzyć nowej krzywej, chcę zacząć od istniejącej.

 

Z góry dziękuję za odpowiedzi.

Czy mógłbyś opublikować swoje makro? I zlokalizuj nas, gdzie blokujesz?

1 polubienie

Cóż, w stworzonym przeze mnie makrze tak naprawdę nigdzie nie blokuję,

Tylko ten, który stworzyłem, pozwala mi tylko stworzyć moją krzywą i działa bardzo dobrze.

Ale był to po prostu sposób na właściwe przejęcie kontroli nad tym, jak tworzyć makra.

To, co chcę zrobić, to z już utworzonej funkcji krzywej, chciałbym, aby moje makro edytowało moją funkcję krzywej XYZ i pobierało nowe punkty, aby zmienić kształt mojej krzywej.

W końcu po prostu nie mogę znaleźć języka, który jest odpowiedni do edycji funkcji.

 

Witam

 

Może tutaj jest jakieś rozwiązanie, musisz użyć:

FreePointCurveFeatureData::P właściwość ointArray , aby edytować definicję krzywej XYZ. Zapoznaj się z pomocą interfejsu API, aby uzyskać dodatkowe informacje na temat modyfikowania danych funkcji.

 

https://forum.solidworks.com/thread/59437

 

Cześć ha.ta.ca

Zobacz ten samouczek

do tworzenia krzywych za pomocą punktów X.Y.Z

http://www.lynkoa.com/tutos/3d/video-tutorial-creating-curves-importing-point-data-text-file-solidworks

@+ ;-))

Witam

Aby odpowiedzieć ".PL": 

Nie mogę zintegrować twoich "słów" z moim makrem "FreePointcurveFeatureData:: PointArray".

 

Aby odpowiedzieć "gt22":

Utworzyłem już makro, które tworzy krzywą XYZ FUNCTION, w załączeniu,

 

W przeciwnym razie próbowałem stworzyć makro, które tworzy krzywą za pomocą szkicu, ale nie działa to :(,

(Chciałem utworzyć krzywą za pomocą szkicu, ponieważ łatwiej jest ją później edytować"

 

krzywa makro FUNCTION: (działa)

Dim swApp jako SldWorks.SldWorks

Przyciemnij część jako SldWorks.ModelDoc2
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim skiP As Obiekt
Przyciemnij myRefPlane jako obiekt
Dim skSegment As Object


Sub main()
Ustaw swApp = Application.SldWorks
Ustaw część = swApp.ActiveDoc

Otwórz "Ścieżka folderu\TC.txt" dla danych wejściowych jako #1

Part.InsertCurveFileBegin
                                                                    
Rób, gdy nie jesteś EOF(1)
Wejście #1, X, Y, Z
boolstatus = Part.InsertCurveFilePoint(X / 1000, Y / 1000, Z / 1000)
Pętla
Zamknij #1

boolstatus = Part.InsertCurveFileEnd()   
                                                    
boolstatus = Part.SelectedFeatureProperties(0, 0, 0, 0, 0, 0, 0, True, False, "rdzeń splajnu") 'NAZWA SPLAJN 'rdzeń splajnu'

Koniec subwoofera

 

makro krzywa SKETCH :(nie działa) Pomocy!

Dim swApp jako SldWorks.SldWorks
Przyciemnij część jako SldWorks.ModelDoc2
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim skSegment As Object
Dim pointArray As Variant
Dim points() As Obiekt

Sub main()
Ustaw swApp = Application.SldWorks
Ustaw część = swApp.ActiveDoc

Otwórz "Ścieżka folderu\TC2.txt" dla danych wejściowych jako #1

boolstatus = Part.Extension.SelectByID2("Płaszczyzna twarzy", "PŁASZCZYZNA", 0, 0, 0, Fałsz, 0, Nic, 0)
Part.SketchManager.InsertSketch Prawda
Przyciemnij punkty (od 0 do 2) jako obiekt

Rób, gdy nie jesteś EOF(1)
Wejście #1, X, Y, Z
punkty(0) = X / 1000
punkty(1) = Y / 1000
punkty(2) = Z / 1000
Pętla
Zamknij #1
Ustaw skSegment = Part.SketchManager.CreateSpline((pointArray))


Part.SketchManager.InsertSketch Prawda

Koniec subwoofera

Witam

 

Wystąpił błąd w składni podanej przeze mnie funkcji, jest  to:

IFreePointCurveFeatureData

I link, który nadaje jego atrybuty:

http://help.solidworks.com/2013/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IFreePointCurveFeatureData_members.html

 

Witam

Nie można zintegrować słów "Ifreepointcurvefeaturedata",

Próbuję więc użyć słów "feateditdef", wydaje mi się to całkiem niezłe, ale nie mogę potem samodzielnie zamknąć  okna dialogowego. Więc jeszcze nie bardzo rozstrzygające.