| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
| |
 | Besichtigung der MAIT.Cloud in Frankfurt | 19.11.2025, eine Veranstaltung am 19.11.2025
|
Autor
|
Thema: Schriftfeld Text Positionieren (1769 / mal gelesen)
|
MiBr Mitglied Konstrukteur
  
 Beiträge: 577 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 07. Jun. 2016 19:56 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich Versuche mir gerade ein Tool zum ausfüllen des Änderungstextes fürs Schriftfeldes zu basteln. Leider stoße ich bei der Positionierung des Textes an meine Grenzen. Ich hole mal aus! Das ganze wollte ich aus mehreren Lisp zusammen klauen :-) , wie folgt: 1. Am Anfang über folgenden Code den relativen Abstand der Texte zur Skizze bestimmen: Code: (setf bg_sketch_AE "Aenderung") (setf pos_sketch -30.5,45.5) (setf pos_buch -35.5,45.5) ...
2. Über Variable die Zeilennummer bestimmen Code: (Zeile_AE :value-type :number :prompt-text "Zeile auswaehlen" :title "Zeile" :proposals (6 5 4 3 2 1) :auto-add-proposal nil :persistent-proposals nil :initial-value 1)
3. Mittels 'Rahmen identifizieren' aus dem Drucktool die untere rechte Blattecke bestimmen: Code: (setq xy-of-urll (make-gpnt2d :x x-of-ur :y y-of-ll))
4. Als letztes den Text einfügen Code: (progn (AM_CREATE_TEXT :docu-text "Test" :owner (format nil "/~a/~a" csn skizzenname) :size 3.5 :color 16776960 :done :ratio 0.8 :adjust 5 (gpnt2d (+(gpnt2d_x pos_buch) (gpnt2d_x xy-of-urll)) (+(gpnt2d_y pos_buch) (gpnt2d_y xy-of-urll))) );end AM_CREATE_TEXT ); end Progn
Mit dem Code kann man immer die gleiche Zeile ausfüllen! (Erster Erfolg für mich!) Ich hätte gerne das die Variable Zeile_AE x 6 (6= y-Zeilenabstand) zu gpnt2d_y addiert wird, damit der Text in die entsprechende Zeile geschrieben wird! Ich bekomme mit meinen geringen Lisp Kenntnissen aber nur noch Fehlermeldungen hin :-( Und dabei ist das wahrscheinlich ganz leicht, oder? Gruß Michael
[Diese Nachricht wurde von MiBr am 07. Jun. 2016 editiert.] 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: 07. Jun. 2016 20:18 <-- editieren / zitieren --> Unities abgeben:          Nur für MiBr
|
MiBr Mitglied Konstrukteur
  
 Beiträge: 577 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 07. Jun. 2016 20:50 <-- editieren / zitieren --> Unities abgeben:         
Ups, das war ja einfach! Ich weiß garnicht, was für ein Mist ich schon ausprobiert habe, wollte immer gpnt2d_y mit in die Klammer setzen! Danke, dann schau ich mal weiter was noch für Fragen auftauchen!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
  
 Beiträge: 577 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 09. Jun. 2016 07:43 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich möchte gerne den Namen automatisch ins Schriffeld eintragen lassen. Dazu kann ich ja den Username abfragen, diesen kann ich aber nicht eins zu eins nutzen! Habe mir folgendes vorgestellt: Code: (defun cad_usernamen () (setq Akt_sd_user (sd-sys-getenv "USERNAME")) ;; Windows-Anmeldenamen aus der Umgebung lesen ;; Akt_sd_user enthaelt den Windows-Anmeldenamen.(cond ((string= Akt_sd_user "mbreuers") (setq Akt_cad_user "Breuers") ) ((string= Akt_sd_user "hmedding") (setq Akt_cad_user "Medding") ) ))
Anschließend eintragen lassen
Code: (AM_CREATE_TEXT :docu-text (format nil "~a" Akt_cad_user)
Leider macht der Code garnichts! Ist der Code so Falsch? Gruß Michael Hab es gefunden! Ohne (defun cad_usernamen ()) klappt es wunderbar!
Gruß Michael
[Diese Nachricht wurde von MiBr am 09. Jun. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
  
 Beiträge: 577 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 12. Jun. 2016 18:06 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich möchte eine Skizze 'Schriftfeld' erstellen, allerdings nur wenn keine mit dem Namen vorhanden ist. Hatte hiermit schon rumprobiert: Code: (Eintragen_SC () (progn (setf alle_skizzen nil) (setf alle_skizzen (sd-am-inq-all-sketches (sd-am-inq-curr-sheet))) (dolist (skizzen alle_skizzen) (when (not(sd-string-match-pattern-p bg_sketch_Sch (sd-am-inq-name skizzen))) (AM_SKETCH_CREATE :sketch_name bg_sketch_Sch :owner :current_sheet :ref_point xy-of-urll) ;;am_sketch );;when ) );;progn ); end Eintragen
bekomme es aber nicht hin. (bg_sketch_Sch mit setf Schriftfeld hinterlegt) Wie muss der Code heißen? Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
  
 Beiträge: 577 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 14. Jun. 2016 07:40 <-- editieren / zitieren --> Unities abgeben:         
Hallo hab es wie folgt hinbekommen Code: (progn (setf csn (sd-am-inq-curr-sheet-name)) (setf Skizze_DA nil) (setf alle_skizzen nil) (setf alle_skizzen (sd-am-inq-all-sketches (sd-am-inq-curr-sheet))) (dolist (skizzen alle_skizzen) (when (sd-string-match-pattern-p bg_sketch_Sch (sd-am-inq-name skizzen)) (setf Skizze_DA t) );;when );end dolist );;progn (if (equal Skizze_DA nil) (progn (AM_SKETCH_CREATE :sketch_name bg_sketch_Sch :redface:wner :current_sheet :ref_point xy-of-urll ); end AM_SKETCH );end progn );end If
Anstelle von löschen der vorhandenen Skizze, 'Skizze_DA' gesetzt und anschließend abgefragt. Gruß Michael
[Diese Nachricht wurde von MiBr am 14. Jun. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
  
 Beiträge: 577 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 17. Jun. 2016 13:15 <-- editieren / zitieren --> Unities abgeben:         
Hallo, nachdem ich das Tool zum ausfüllen des Schriftfeldes verteilt habe, fragen die Kollegen ob man den Blattmaßstab nicht auch automatisch abfragen und eintragen kann (Es wird halt oft vergessen diesen anzupassen). Sollte doch eigentlich gehen, finde aber nichts im Forum, wo ich diese Funktion klauen kann  bzw. wie ich´s umsetzen kann. Gibt es da eine Möglichkeit? Und am besten noch so, das das Ergebniss so aussieht: 1:1 1:2 2:1 ....?
Und schon mal Danke ans Forum, das Tool was ich da zuzammen geschustert habe funzt 1A! Michael 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: 17. Jun. 2016 16:10 <-- editieren / zitieren --> Unities abgeben:          Nur für MiBr
Da gibts was: Code:
(sd-am-inq-curr-sheet) (sd-am-inq-sheet sheet) => (sd-am-sheet-struct-p sd-am-sheet-struct) (sd-am-sheet-struct-name sd-am-sheet-struct) (sd-am-sheet-struct-frame sd-am-sheet-struct) (sd-am-sheet-struct-views sd-am-sheet-struct) (sd-am-sheet-struct-flats sd-am-sheet-struct) (sd-am-sheet-struct-sketches sd-am-sheet-struct) (sd-am-sheet-struct-scale sd-am-sheet-struct) (sd-am-sheet-struct-corners sd-am-sheet-struct)
Näheres zur Syntax in der Doku zum IKit ------------------ meine LISP-Makros sind auf osd.cad.de Disclaimer Grüße aus Wien
 Walter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
  
 Beiträge: 577 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 20. Jun. 2016 06:42 <-- editieren / zitieren --> Unities abgeben:         
Hallo Walter, leider komme ich damit nicht weiter. Habe keine Ahnung wie ich aus den Funktionen den Maßstab ermitteln kann. Bin halt keine Programmierer bzw. Lispér und komme auch mit dem Syntax im IKit nicht wirklich klar :( Wollte es gerne in der folgenden Variable unterbringen: Code: (MAS_SCH :value-type :string :prompt-text "MaÞstab" :title "MaÞstab" :proposals ("1:10" "1:5" "1:2" "1:1" "2:1" "5:1" "10:1" ) :auto-add-proposal nil :persistent-proposals nil :initial-value "1:1" )
Gruß Michael 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: 20. Jun. 2016 09:50 <-- editieren / zitieren --> Unities abgeben:          Nur für MiBr
Es ist auch gar nicht notwendig, das Rad ein zweites Mal zu erfinden. Setze in dein Schriftfeld einen Text mit Bezug. Für Zeichnungsnummer, Blattzahl und Masstab sind die auch in der Basisversion ohne MM verfügbar. Die haben auch den Vorteil, dass sie sich automatisch aktualisieren, wenn der User was verändert. ------------------ meine LISP-Makros sind auf osd.cad.de Disclaimer Grüße aus Wien
 Walter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
  
 Beiträge: 577 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 20. Jun. 2016 10:25 <-- editieren / zitieren --> Unities abgeben:         
|