Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Programmierung
  use of create_bspline

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO
Autor Thema:  use of create_bspline (511 mal gelesen)
Andylau
Mitglied



Sehen Sie sich das Profil von Andylau an!   Senden Sie eine Private Message an Andylau  Schreiben Sie einen Gästebucheintrag für Andylau

Beiträge: 55
Registriert: 07.06.2021

erstellt am: 18. Jan. 2022 06:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi everyone,

Happy new year!
I have a question about the use of create_bspline.

1. I get a list of points(pt_list) like this:

Code:

(setf pt_list (loop for RadianStep from 0 by 0.1 to 1 collect  (oli::make-gpnt3d  :x (* 30 (sin RadianStep)) :y (* 30 (cos RadianStep)) :z 0)))


  The pt_list equals list:
(0.0S0,30.0S0,0
2.9950024994048445,29.850124958340775,0
5.9600799238518363,29.401997335237247,0
8.8656061998401885,28.660094673768178,0
11.682550269259515,27.631829820086551,0
14.38276615812609,26.327476856711183,0
16.93927420185106,24.760068447290351,0
19.326530617130729,22.945265618534656,0
21.52068272698568,20.901201280414966,0
23.499807288824499,18.648299048119934,0
25.244129544236891,16.209069176044192,0)

2. create bspline.

Code:

(create_bspline :point3d :wire_part "/p1" :input_mode :INTERPOLATION :start_condition :POSITION :cc_interpolation :on :follow_me :on pt_list)

but it doesn't work.

3. create bspline by points below, it works.

Code:

(create_bspline :point3d :wire_part "/p1"
:input_mode :INTERPOLATION :start_condition :POSITION :cc_interpolation :on :follow_me :on 0.0S0,30.0S0,0
2.9950024994048445,29.850124958340775,0
5.9600799238518363,29.401997335237247,0
8.8656061998401885,28.660094673768178,0
11.682550269259515,27.631829820086551,0
14.38276615812609,26.327476856711183,0
16.93927420185106,24.760068447290351,0
19.326530617130729,22.945265618534656,0
21.52068272698568,20.901201280414966,0
23.499807288824499,18.648299048119934,0
25.244129544236891,16.209069176044192,0)

So how to create this bspline by using pt_list in step 2.

Thanks a lot!

Andy


[Diese Nachricht wurde von Andylau am 18. Jan. 2022 editiert.]

[Diese Nachricht wurde von Andylau am 18. Jan. 2022 editiert.]

[Diese Nachricht wurde von Andylau am 18. Jan. 2022 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Andylau
Mitglied



Sehen Sie sich das Profil von Andylau an!   Senden Sie eine Private Message an Andylau  Schreiben Sie einen Gästebucheintrag für Andylau

Beiträge: 55
Registriert: 07.06.2021

erstellt am: 12. Mai. 2022 04:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

4. I noticed the pt_list is a list. But we needs the points in the list, so I tried (values-list pt_list).

But it didn't work as before.

Code:
(create_bspline :point3d :wire_part "/p1" :input_mode :INTERPOLATION :start_condition :POSITION :cc_interpolation :on :follow_me :on (values-list pt_list))

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

Beiträge: 2017
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build19044.2364
● Drafting V17~V20.5.1
● Modeling V17~V20.5.1

erstellt am: 18. Mai. 2022 00:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Andylau 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Andylau:
But it didn't work as before.

Code:
(values-list pt_list)
funktioniert so nicht. Guck dir doch mal den return value davon an!
Code:
(pprint (values-list pt_list))
Da kommt nur das erste element zurück. Das ist dsa Verhalten vom "multiple-values" Konzept.

Das hat also den selben Effekt wie wenn du folgendes aufrufen tätest:

Code:
(create_bspline :Point3d :wire_part "/p1"
  :input_mode :INTERPOLATION :start_condition :POSITION :cc_interpolation :On
  :follow_me :On 0.0,30.0,0.0)

Was aber funktioniert ist die Anwendung von apply --> http://clhs.lisp.se/Body/f_apply.htm .
Das ist Standard LISP.
Alle parameter die du für den Aufruf von create_bspline brauchst schreibst du in eine lange (aber flache!) Liste. Und dann wendest du (apply ...) an.

In deinen echten code solttest du unbedingt ein sd-call-cmds drum rum machn. Sonst sieht man sehr viele temporä#re  FeedbackElemente im Anzeigefenster und es wird auch schnarch langsam.


------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Andylau
Mitglied



Sehen Sie sich das Profil von Andylau an!   Senden Sie eine Private Message an Andylau  Schreiben Sie einen Gästebucheintrag für Andylau

Beiträge: 55
Registriert: 07.06.2021

erstellt am: 08. Jun. 2022 04:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Thanks a lot!
apply works well.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz