| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
 | Windows Server 2025 - Was ist neu im Microsoft Server-Betriebssystem, eine Pressemitteilung
|
Autor
|
Thema: Tabelle mit Makro zeichen und Berechnen (1979 mal gelesen)
|
noxx Mitglied Steuerzahler
  
 Beiträge: 803 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 31. Jan. 2007 18:11 <-- editieren / zitieren --> Unities abgeben:         
Ich möchte für Annotation ein Makro haben, da ich eine Funktion ziemlich oft durchführe und mir die Arbeit etwas erleichern möchte. Habe leider wenig Erfahrung und bisher nur das Menü hinbekommen zur Dateneingabe, soll etwa so aussehen: Also, man soll einen Durchmesser definieren und ein oder mehrere Winkel. Dann soll auf Knopfdruck die Bogenmasse berechnet werden und eine Tabelle in Anno gezeichnet werden, die vielleicht so aussehen könnte: Ist das überhaupt machbar ? Gruss
------------------ OSD 13.2 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 31. Jan. 2007 21:35 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
|
noxx Mitglied Steuerzahler
  
 Beiträge: 803 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 31. Jan. 2007 21:42 <-- editieren / zitieren --> Unities abgeben:         
.... und wie ? Leider finde ich kein Makro das irgendeine Ähnlichkeit hat, mit dem was ich möchte... nur das erstellen des Eingabemenü konnte ich mir aus anderen abgucken. Vielleicht hat ja eine Idee wo ich gucken kann oder ein paar Tipps. Danke & Gruss ------------------ OSD 13.2 [Diese Nachricht wurde von noxx am 31. Jan. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 31. Jan. 2007 22:47 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
Zitat: Original erstellt von noxx: .... und wie ?
Wie man das halt so macht beim Programmieren: Ein Funktioenchen zum Umrechnen von Winkeln in Bogenmass, eine Funktion zum Zeichnen einer Tabelle in einer Zeichnung, und dann etwas Code aussenherum, der die Tabelle mit den diversen Eingabedaten fuellt. Doku gibt's zu allen Themen zuhauf, und eine komplette Programmiersprache ist in Modeling eingebaut. Nur Mut! Claus
------------------ CoCreate OneSpace Modeling FAQ: http://www.clausbrod.de/OneSpaceModeling/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
noxx Mitglied Steuerzahler
  
 Beiträge: 803 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 01. Feb. 2007 18:12 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von clausb: Wie man das halt so macht beim Programmieren: Ein Funktioenchen zum Umrechnen von Winkeln in Bogenmass, eine Funktion zum Zeichnen einer Tabelle in einer Zeichnung, und dann etwas Code aussenherum, der die Tabelle mit den diversen Eingabedaten fuellt. Doku gibt's zu allen Themen zuhauf, und eine komplette Programmiersprache ist in Modeling eingebaut. Nur Mut! Claus
Bisher habe ich es nur hinbekommen wie man das Menü erstellt und anschliessend die Ergebnisse in eine Variable umrechnet und in einem Textfenster ausgibt. Wie bekomme ich den die Variablen als Text auf das Zeichnungsblatt? Weiterhin werden die Bogenmaße als mit mehreren Kommastellen dargestellt, zB 20.129179072. Kann man das per Befehl kürzen, so das entweder 20 oder 20.1 angezeigt wird? ------------------ OSD 13.2
[Diese Nachricht wurde von noxx am 01. Feb. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 01. Feb. 2007 18:56 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
|
noxx Mitglied Steuerzahler
  
 Beiträge: 803 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 01. Feb. 2007 18:59 <-- editieren / zitieren --> Unities abgeben:         
|
Walter Geppert Moderator Frank und Frei
     

 Beiträge: 2166 Registriert: 12.12.2000
|
erstellt am: 01. Feb. 2007 19:14 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
|
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 01. Feb. 2007 20:14 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
|
Walter Geppert Moderator Frank und Frei
     

 Beiträge: 2166 Registriert: 12.12.2000
|
erstellt am: 01. Feb. 2007 21:14 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
|
noxx Mitglied Steuerzahler
  
 Beiträge: 803 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 03. Feb. 2007 12:18 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von Walter Geppert: Aus diesem Makro könntest du dir abschauen, wie eine Tabelle in Anno gezeichnet wird
Muss mir das mal angucken. Aber ich möchte das die Tabelle später als Skizze angelegt wird, um diese besser auf dem Blatt noch bewegen zu können. Vielleicht kann mir aber mal einer zwie Tipps geben: a) Den startpunkt wo die Tabelle erscheinen soll, definiere ich mit: (Startpunkt :value-type :docupntcnp) Hoffe das geht so. Welchen Befehl brauche ich, um in Anno einen waagerechten Strich zu zeichnen und diesen Strich einer Skizze zuzuordnen (Name der Skizze kann zB TABELLE sein), der beim Startpunkt beginnt und 100mm nach rechts geht. b) ich habe mit der variablen BOGEN1 das Bogenmass zugewiesen, zb 100mm. Wie erstelle ich auf der Zeichnung den Text der in der VAriablen BOGEN1 steht und setzte diesen Text an die Position x,y (wobei x= Startpunkt + 2mm und y= startpunkt - 2mm sein soll)? Wäre dankbar für jede Hilfe. ------------------ OSD 13.2
[Diese Nachricht wurde von noxx am 03. Feb. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
noxx Mitglied Steuerzahler
  
 Beiträge: 803 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 05. Feb. 2007 18:30 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von noxx: Muss mir das mal angucken. Aber ich möchte das die Tabelle später als Skizze angelegt wird, um diese besser auf dem Blatt noch bewegen zu können.Vielleicht kann mir aber mal einer zwie Tipps geben: a) Den startpunkt wo die Tabelle erscheinen soll, definiere ich mit: (Startpunkt :value-type :docupntcnp) Hoffe das geht so. Welchen Befehl brauche ich, um in Anno einen waagerechten Strich zu zeichnen und diesen Strich einer Skizze zuzuordnen (Name der Skizze kann zB TABELLE sein), der beim Startpunkt beginnt und 100mm nach rechts geht. b) ich habe mit der variablen BOGEN1 das Bogenmass zugewiesen, zb 100mm. Wie erstelle ich auf der Zeichnung den Text der in der VAriablen BOGEN1 steht und setzte diesen Text an die Position x,y (wobei x= Startpunkt + 2mm und y= startpunkt - 2mm sein soll)? Wäre dankbar für jede Hilfe.
Vielleicht kann sich das ja mal einer angucken, was ich bisher habe.
Gruss und danke für jede Hilfe ------------------ OSD 13.2 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
noxx Mitglied Steuerzahler
  
 Beiträge: 803 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 07. Feb. 2007 18:17 <-- editieren / zitieren --> Unities abgeben:         
Brauche mal dringend ne Antwort, komme leider nicht weiter. In dem Makro erstelle ich eine Skizze mit:
Code:
(sd-am-create-sketch :name "TABELLE" osition Startpunkt wner_type :current-sheet)
und zeichne Linie mit
Code:
(sd-execute-annotator-command :cmd (format nil "LINE ~A,~A ~A,~A END" (gpnt2d_x Startpunkt) (gpnt2d_y Startpunkt) (+ (gpnt2d_x Startpunkt) (* 25 TSIZE)) (gpnt2d_y Startpunkt) ) )
Wie mache ich es aber, dann die Linien als Besitzer die Skizze hat? Weitere Frage: Ich benutze eine IF Funktion. Diese Schreibe ich so:
Code:
(if (> bogen_3 0) (sd-execute-annotator-command :cmd (format nil "TEXT '~A' ~A,~A END" (* Winkel_3 180 (/ 1 pi)) (+ (gpnt2d_x Startpunkt) 1) (- (gpnt2d_y Startpunkt) (* (+ 0 1) 12 TSIZE) -2) ) ) )(if (> bogen_3 0) (sd-execute-annotator-command :cmd (format nil "TEXT '~A' ~A,~A END" bogen_3 (+ (gpnt2d_x Startpunkt) 60) (- (gpnt2d_y Startpunkt) (* (+ 0 1) 12 TSIZE) -2) ) ) )
Ich bekomme es leider nicht hin sd-execute-annotator-command in eine Schleife zu packen, dann kommt ne Fehlermeldung mit sd-execute-annotator-command ist nicht definiert (oder so). Ich muss den Umweg über 2 Schleifen machen. Kann mir einer sagen wie das mit einer geht? ------------------ OSD 13.2 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
noxx Mitglied Steuerzahler
  
 Beiträge: 803 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 07. Feb. 2007 18:30 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von noxx: Brauche mal dringend ne Antwort, komme leider nicht weiter.In dem Makro erstelle ich eine Skizze mit:
Code:
(sd-am-create-sketch :name "TABELLE" osition Startpunkt wner_type :current-sheet)
und zeichne Linie mit
Code:
(sd-execute-annotator-command :cmd (format nil "LINE ~A,~A ~A,~A END" (gpnt2d_x Startpunkt) (gpnt2d_y Startpunkt) (+ (gpnt2d_x Startpunkt) (* 25 TSIZE)) (gpnt2d_y Startpunkt) ) )
Wie mache ich es aber, dann die Linien als Besitzer die Skizze hat? Weitere Frage: Ich benutze eine IF Funktion. Diese Schreibe ich so:
Code:
(if (> bogen_3 0) (sd-execute-annotator-command :cmd (format nil "TEXT '~A' ~A,~A END" (* Winkel_3 180 (/ 1 pi)) (+ (gpnt2d_x Startpunkt) 1) (- (gpnt2d_y Startpunkt) (* (+ 0 1) 12 TSIZE) -2) ) ) )(if (> bogen_3 0) (sd-execute-annotator-command :cmd (format nil "TEXT '~A' ~A,~A END" bogen_3 (+ (gpnt2d_x Startpunkt) 60) (- (gpnt2d_y Startpunkt) (* (+ 0 1) 12 TSIZE) -2) ) ) )
Ich bekomme es leider nicht hin [b]sd-execute-annotator-command in eine Schleife zu packen, dann kommt ne Fehlermeldung mit sd-execute-annotator-command ist nicht definiert (oder so). Ich muss den Umweg über 2 Schleifen machen. Kann mir einer sagen wie das mit einer geht? [/B]
und 3.
Ich habe errechnete Zahlenwerte einer Variablen zugewiesen. Diese wird auch als TEXT auf dem Zeichnungsblatt abgelegt, leider aber als Kommazahl. Mit welchem Befehl kann ich den Zahlenwert in der Variablen aufrunden ? Also, dass nicht mehr 3.1415827, sondern 3 oder 3.1 angezeigt werden!
------------------ OSD 13.2 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
noxx Mitglied Steuerzahler
  
 Beiträge: 803 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 11. Feb. 2007 10:55 <-- editieren / zitieren --> Unities abgeben:         
|
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 11. Feb. 2007 11:34 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
|
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 11. Feb. 2007 11:41 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
Zitat: Original erstellt von noxx: Ich bekomme es leider nicht hin sd-execute-annotator-command in eine Schleife zu packen, dann kommt ne Fehlermeldung mit sd-execute-annotator-command ist nicht definiert (oder so). Ich muss den Umweg über 2 Schleifen machen. Kann mir einer sagen wie das mit einer geht?
Diese Frage verstehe ich nicht. Du schreibst was von zwei Schleifen, aber in Deinem Beispielcode ist keine davon zu sehen. Wenn die Frage nur falsch gestellt sein sollte und Du eigentlich wissen willst, wie Du mehrere Kommandos aufgrund einer einzelnen bedingten Abfrage ausfuehren kannst, dann waere der Loesungsvorschlag so: Code:
(when (> bogen_3 0) (sd-execute-annotator-command :cmd (format nil "TEXT '~A' ~A,~A END" (* Winkel_3 180 (/ 1 pi)) (+ (gpnt2d_x Startpunkt) 1) (- (gpnt2d_y Startpunkt) (* 12 TSIZE) -2) ) ) (sd-execute-annotator-command :cmd (format nil "TEXT '~A' ~A,~A END" bogen_3 (+ (gpnt2d_x Startpunkt) 60) (- (gpnt2d_y Startpunkt) (* 12 TSIZE) -2) ) ) )
------------------ CoCreate OneSpace Modeling FAQ: http://www.clausbrod.de/OneSpaceModeling/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 11. Feb. 2007 11:45 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
Zitat: Original erstellt von noxx: Wie mache ich es aber, dann die Linien als Besitzer die Skizze hat?
Da ich's nicht auswendig weiss und auch erst Doku lesen muesste: Ich vermute, man wird irgendwie die Skizze zum "current part" (in 2D) machen muessen. Jedenfalls waere das, glaube ich, in Drafting so, und Annotation ist ja blutsverwandt. Claus
------------------ CoCreate OneSpace Modeling FAQ: http://www.clausbrod.de/OneSpaceModeling/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
     

 Beiträge: 2166 Registriert: 12.12.2000
|
erstellt am: 11. Feb. 2007 12:18 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
Hab in meinen Makros gewühlt und das hat bei mir funktioniert (am_posnum): Code:
;; die Skizze erzeugen (oli::sd-am-set-default-owner :sketch :current-sheet) (setf fehler nil) (sd-call-cmds (AM_SKETCH_CREATE :GO K :sketch_name my_sketch_name :REF_POINT tpkt) :failure (setf fehler t)) (when fehler (progn (display "Unerwarteter Fehler beim Erzeugen der Skizze :") (display (sd-inq-error-obj :message)) ) ) (setf curr_sheet_name (sd-am-inq-curr-sheet-name)) (setf name_pfad (format nil "~a/~a" curr_sheet_name my_sketch_name)) ;; alles was nun kommt, soll zur Skizze gehoeren (oli::sd-am-set-default-owner :geo :sketch name_pfad) (oli::sd-am-set-default-owner :text :sketch name_pfad)
------------------ meine LISP-Makros sind auf osd.cad.de Grüße aus Wien Walter DC4 Technisches Büro GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
     

 Beiträge: 2166 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.6, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook Fury 16 G9, Windows 10 Pro 64
|
erstellt am: 11. Feb. 2007 12:20 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
|
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 11. Feb. 2007 12:25 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
|
noxx Mitglied Steuerzahler
  
 Beiträge: 803 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 11. Feb. 2007 15:05 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von clausb: Diese Frage verstehe ich nicht. Du schreibst was von zwei Schleifen, aber in Deinem Beispielcode ist keine davon zu sehen.Wenn die Frage nur falsch gestellt sein sollte und Du eigentlich wissen willst, wie Du mehrere Kommandos aufgrund einer einzelnen bedingten Abfrage ausfuehren kannst, dann waere der Loesungsvorschlag so: Code:
(when (> bogen_3 0) (sd-execute-annotator-command :cmd (format nil "TEXT '~A' ~A,~A END" (* Winkel_3 180 (/ 1 pi)) (+ (gpnt2d_x Startpunkt) 1) (- (gpnt2d_y Startpunkt) (* 12 TSIZE) -2) ) ) (sd-execute-annotator-command :cmd (format nil "TEXT '~A' ~A,~A END" bogen_3 (+ (gpnt2d_x Startpunkt) 60) (- (gpnt2d_y Startpunkt) (* 12 TSIZE) -2) ) ) )
Hatte wohl das falsche kopiert, hier das richtige: Code:
(if (> bogen_3 0) (sd-execute-annotator-command :cmd (format nil "TEXT '~A' ~A,~A END" (* Winkel_3 180 (/ 1 pi)) (+ (gpnt2d_x Startpunkt) 1) (- (gpnt2d_y Startpunkt) (* (+ 0 1) 12 TSIZE) -2) ) ) )(if (> bogen_3 0) (sd-execute-annotator-command :cmd (format nil "TEXT '~A' ~A,~A END" bogen_3 (+ (gpnt2d_x Startpunkt) 60) (- (gpnt2d_y Startpunkt) (* (+ 0 1) 12 TSIZE) -2) ) ) )
------------------ OSD 13.2 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
noxx Mitglied Steuerzahler
  
 Beiträge: 803 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 11. Feb. 2007 15:29 <-- editieren / zitieren --> Unities abgeben:         
Also, der letzte Stand sieht so aus (Anhang). Was ich also noch Wissen müsste ist: a) Wie weise ich die Linien und die Texte die erstellt werden, der Skizze zu (heisst bei mir Tab_Bogen) b) Wie löse ich das am besten mit den IF Schleifen. Die habe ja die Funktion zu gucken ob eine Winkel definiert wurde, wenn ja, dann die Texte und die Linien zu zeichnen. Lässt sich bestimmt auch eleganter lösen für´n Profi c) Wie runde ich die Zahlenwerte auf, welche errechnet werden ------------------ OSD 13.2 [Diese Nachricht wurde von noxx am 11. Feb. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 11. Feb. 2007 17:24 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
|
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 11. Feb. 2007 17:25 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
Zitat: Original erstellt von noxx: Also, der letzte Stand sieht so aus (Anhang).Was ich also noch Wissen müsste ist: a) Wie weise ich die Linien und die Texte die erstellt werden, der Skizze zu (heisst bei mir Tab_Bogen) b) Wie löse ich das am besten mit den IF Schleifen. Die habe ja die Funktion zu gucken ob eine Winkel definiert wurde, wenn ja, dann die Texte und die Linien zu zeichnen. Lässt sich bestimmt auch eleganter lösen für´n Profi c) Wie runde ich die Zahlenwerte auf, welche errechnet werden
a) und c) haben Walter und ich bereits erklaert (bitte unsere Antworten lesen!), bei b) verstehe ich die Frage nach wie vor nicht. Wahrscheinlich liegt es an der Terminologie: So etwas wie eine "IF-Schleife" gibt es schlicht nicht. Schleifen schreibt man in Lisp zum Beispiel mit "dotimes" oder "loop" - siehe http://www.lisp.org/HyperSpec/Body/sec_the_itera_n_dictionary.html Claus ------------------ CoCreate OneSpace Modeling FAQ: http://www.clausbrod.de/OneSpaceModeling/
[Diese Nachricht wurde von clausb am 11. Feb. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
noxx Mitglied Steuerzahler
  
 Beiträge: 803 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 11. Feb. 2007 22:16 <-- editieren / zitieren --> Unities abgeben:         
|
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 11. Feb. 2007 22:39 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
|
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 12. Feb. 2007 08:35 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
Damit andere leichter helfen koennen, habe ich den Code von noxx gekuerzt. So kann man das jetzt ein wenig leichter lesen (denke ich jedenfalls). Vielleicht habe ich jetzt auch verstanden, was mit den "IF-Schleifen" gemeint sein koennte: Da im Dialog 15 verschiedene Winkel einzeln eingegeben werden, stand noxx vor der Aufgabe, sie alle einzeln abzuarbeiten. Das wuerde den Code doch arg aufblaehen. Ich habe mir erlaubt, das durch eine einfache Liste und eine "dolist"-Schleife (und diesmal ist es wirklich eine ) zu ersetzen. Und als kostenlose Dreingabe wird das Bogenmass jetzt auf zwei Stellen nach dem Komma gerundet. Claus ------------------ CoCreate OneSpace Modeling FAQ: http://www.clausbrod.de/OneSpaceModeling/
[Diese Nachricht wurde von clausb am 12. Feb. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
noxx Mitglied Steuerzahler
  
 Beiträge: 803 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 12. Feb. 2007 18:02 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von clausb: Damit andere leichter helfen koennen, habe ich den Code von noxx gekuerzt. So kann man das jetzt ein wenig leichter lesen (denke ich jedenfalls).Vielleicht habe ich jetzt auch verstanden, was mit den "IF-Schleifen" gemeint sein koennte: Da im Dialog 15 verschiedene Winkel einzeln eingegeben werden, stand noxx vor der Aufgabe, sie alle einzeln abzuarbeiten. Das wuerde den Code doch arg aufblaehen. Ich habe mir erlaubt, das durch eine einfache Liste und eine "dolist"-Schleife (und diesmal ist es wirklich eine ) zu ersetzen. Und als kostenlose Dreingabe wird das Bogenmass jetzt auf zwei Stellen nach dem Komma gerundet. Claus
Habe es noch nicht getestet, aber dennoch erstmal 1000 Danke. Um mein Versändnis der ganzen Sache etwas weiter zu bringen, habe ich mir das Dev-Kit angeguckt. Da ist ein Befehl drin, wie man anderes eine Linie zeichnen kann. Aber irgendwie haut das nicht hin. Habe daher das "alte" Makro mal gekürzt. Vielleicht kann sich das auch mal einer angucken, danach ist dann auch schluss. Danke schonmal: Code:
; Einfache Makro um einen Strich zu zeichnen und einer ; Skizze zuzuordnen(in-package :EXAMPLES) (use-package LI) ;############################################################################### (sd-defdialog 'am-beispiel :dialog-title "2D Makrobeispiel" :variables '( ("Nullpunkt") (Nullpunkt :value-type :docupoint :toggle-value-type :defundef)
) ;############################################################################### k-action '(progn ;############################################################################### ; Skizze erzeugen (setf 2D_Skizze "2D_Skizze") (sd-am-create-sketch :name 2D_Skizze osition Nullpunkt wner_type :current-sheet) ;Eine horizontale Linie zeichnen, Startpkt. beim gewählten Nullpunkt, Länge 100mm (sd-am-create-geo-straight :horizontal (list (gpnt2d_x Nullpunkt) (gpnt2d_y Nullpunkt) 100) wner_type :sketch wner 2D_Skizze)
;Eine 2. horizontale Linie zeichnen, diese Linie soll paralell zur ersten sein und 10mm drüber, Länge 100mm (sd-am-create-geo-straight :horizontal (list (gpnt2d_x Nullpunkt) (gpnt2d_y (+Nullpunkt 10) 100) wner_type :sketch wner 2D_Skizze) ) )
------------------ OSD 13.2 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 12. Feb. 2007 20:23 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
|
noxx Mitglied Steuerzahler
  
 Beiträge: 803 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 12. Feb. 2007 20:28 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von clausb: Sagst Du uns noch, was da nicht "hinhaut"? Claus
Er zeichnet die Linie nicht. Denke mal das der "Startpunkt" anderes definiert werden muss.
------------------ OSD 13.2 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 12. Feb. 2007 21:07 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
Nach kurzem Durchsehen und Nachschlagen in der Doku ergaben sich die folgenden Fundstuecke:
- Falscher Positionstyp (muss ein gpnt_2d sein,
keine Liste von Koordinaten)
- Syntax- und Typfehler beim Addieren von 10 auf den Nullpunkt
- Fehlerhafte Angabe des Sketch-Parameters in sd-am-create-geo-straight (hier ist ein Pfad gefragt!)
Nachdem ich obiges korrigiert habe, bekomme ich auch wie gewuenscht zwei Linien Claus ------------------ CoCreate OneSpace Modeling FAQ: http://www.clausbrod.de/OneSpaceModeling/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
noxx Mitglied Steuerzahler
  
 Beiträge: 803 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 12. Feb. 2007 21:56 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von clausb: Nach kurzem Durchsehen und Nachschlagen in der Doku ergaben sich die folgenden Fundstuecke:
- Falscher Positionstyp (muss ein gpnt_2d sein,
keine Liste von Koordinaten)
- Syntax- und Typfehler beim Addieren von 10 auf den Nullpunkt
- Fehlerhafte Angabe des Sketch-Parameters in sd-am-create-geo-straight (hier ist ein Pfad gefragt!)
Nachdem ich obiges korrigiert habe, bekomme ich auch wie gewuenscht zwei Linien Claus
und da soll noch mal einer sagen, du bist nicht der Anno-Guru. 1001x danke ------------------ OSD 13.2 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
noxx Mitglied Steuerzahler
  
 Beiträge: 803 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 13. Feb. 2007 19:36 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von clausb: Nach kurzem Durchsehen und Nachschlagen in der Doku ergaben sich die folgenden Fundstuecke:
- Falscher Positionstyp (muss ein gpnt_2d sein,
keine Liste von Koordinaten)
- Syntax- und Typfehler beim Addieren von 10 auf den Nullpunkt
- Fehlerhafte Angabe des Sketch-Parameters in sd-am-create-geo-straight (hier ist ein Pfad gefragt!)
Nachdem ich obiges korrigiert habe, bekomme ich auch wie gewuenscht zwei Linien Claus
Dennoch einer aller aller allerletzte Frage. Wie müsste man das LISP ergänzen, wenn ich zB zwischen den beiden Linie den Text haben möchte www.cad.de ------------------ OSD 13.2 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 14. Feb. 2007 09:07 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
|
noxx Mitglied Steuerzahler
  
 Beiträge: 803 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 14. Feb. 2007 18:03 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von clausb: Siehe Doku zu sd-am-create-text (Integration Kit). Claus
Genau die habe ich mir angeguckt. Aber entweder schreibt er den Text nicht, oder es kommt ne Fehlermeldung, dass 5 Parameter definiert sind, aber nur 4 gebraucht werden.
------------------ OSD 13.2 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 14. Feb. 2007 20:09 <-- editieren / zitieren --> Unities abgeben:          Nur für noxx
|