| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Num.LSP (Einfügepunkt) (1666 mal gelesen)
|
Alpschorsch Mitglied Dipl.-Ing.(FH) Architektur
Beiträge: 735 Registriert: 18.11.2003 ACAD 2004,Express Tools, WIN 2000,
|
erstellt am: 06. Aug. 2004 11:14 <-- editieren / zitieren --> Unities abgeben:
Hallo Experten, ich hab hier ein kleines Nummerierungslisp. Dieses fügt die Zahlen mit dem Einfügepunkt immer unten links ein. Hätte es gerne, das der Einfügepunkt unten mittig liegt! Kann aber nicht lispeln! KAnn mir kurz jemand helfen? (defun c:num (/ nr ipt ant th prefix) (setq LAY_OLD (getvar "CLAYER")) (setq prefix (getstring "\nTextprefix: ") nr (if (setq ant (getint "\nStartnummer <0>")) (1- ant) 0 ) ;_ end of if th (getreal "\nTexthöhe:") ) ;hier fehlte eine Klammer (princ "\nWählen sie ein Element für die Layerschaltung : ") (setq AWS (ssget)) (setq AWS (ssname AWS 0)) (setq LAY_NEW (cdr (assoc 8 (entget AWS)))) (setvar "CLAYER" LAY_NEW) (while (setq ipt (getpoint (strcat "\nEinfügepunkt: " (itoa (setq nr (1+ nr))) ":") ) ;_ end of getpoint ) ;_ end of setq (entmake (list '(0 . "TEXT") '(100 . "AcDbEntity") '(67 . 0) '(410 . "Model") (cons 8 lay_new) ; hier stand eine falsche Variable '(100 . "AcDbText") (cons 10 ipt) (cons 40 th) (cons 1 (strcat prefix (itoa nr))) '(50 . 0.0) '(41 . 1.0) '(51 . 0.0) '(7 . "POS1-50") '(71 . 0) '(72 . 0) (cons 11 ipt) '(210 0.0 0.0 1.0) '(100 . "AcDbText") '(73 . 0) ) ;_ end of list ) ;_ end of entmake ) ;_ end of while (setvar "CLAYER" LAY_OLD) ) Mfg Alpschorsch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 06. Aug. 2004 11:37 <-- editieren / zitieren --> Unities abgeben: Nur für Alpschorsch
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 06. Aug. 2004 11:44 <-- editieren / zitieren --> Unities abgeben: Nur für Alpschorsch
Ein Tipp : Die Ausrichtung ist in den Gruppencodes '(72 . 0) und '(73 . 0) gespeichert. Mit hilfe des Tools aus diesen Threads solltest du eigentlich in der Lage sein, dir deinen Wunsch selbst zu erfüllen! ( soll ja ein Forum mit Hilfe zur Selbsthilfe sein! - auch wenn ich mich jetzt frage, was länger gedauert hat/hätte: das Lisp zu ändern oder diese antwort zu schreiben ) ------------------ - Thomas -
[Diese Nachricht wurde von CADmium am 06. Aug. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 06. Aug. 2004 11:51 <-- editieren / zitieren --> Unities abgeben: Nur für Alpschorsch
aus der Lisp-Hilfe (DXF-Referenz) 72 Typ für Horizontale Textausrichtung (optional; Vorgabewert = 0); Ganzzahlcodes, nicht bitcodiert 0 = Links, 1 = Oben, 2 = Rechts 3 = Ausgerichtet (falls vertikale Ausrichtung = 0) 4 = Zentriert (falls vertikale Ausrichtung = 0) 5 = Angepaßt (falls vertikale Ausrichtung = 0) 73 Typ für vertikale Textausrichtung (optional; Vorgabewert = 0): Ganzzahlcodes (nicht bitcodiert): 0 = Basislinie; 1 = Unten; 2 = Mitte; 3 = Oben Weitere Informationen finden Sie in den Tabellen der Ganzzahlcodes für die Gruppen 72 und 73. daraus ergibt sich der neu entmake teil
(entmake (list '(0 . "TEXT") '(100 . "AcDbEntity") '(67 . 0) '(410 . "Model") (cons 8 lay_new) ; hier stand eine falsche Variable '(100 . "AcDbText") (cons 10 ipt) (cons 40 th) (cons 1 (strcat prefix (itoa nr))) '(50 . 0.0) '(41 . 1.0) '(51 . 0.0) '(7 . "POS1-50") '(71 . 0) '(72 . 1) '(73 . 1) (cons 11 ipt) '(210 0.0 0.0 1.0) '(100 . "AcDbText") ) ;_ end of list ) ;_ end of entmake ) ;_ end of while
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Alpschorsch Mitglied Dipl.-Ing.(FH) Architektur
Beiträge: 735 Registriert: 18.11.2003 ACAD 2004,Express Tools, WIN 2000,
|
erstellt am: 06. Aug. 2004 11:51 <-- editieren / zitieren --> Unities abgeben:
@Dober Heinz, der Einfügepunkt ist bei Deiner Variante doch auch unten links? Und es gibt ein Fehlermeldung! Befehl: zahl Textprefix: Startnummer <0>1 Texthöhe:200 Wählen sie ein Element für die Layerschaltung : Einfügepunkt: 1:Unbekannter Befehl "1". Drücken Sie F1-Taste für Hilfe. Unbekannter Befehl "ZAHL". Drücken Sie F1-Taste für Hilfe. Einfügepunkt: 2:*Abbruch* ; Fehler: Funktion abgebrochen Befehl: Mfg @cadmium, ich schau mal! Ob mir da eine Logik auffällt! Mfg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 06. Aug. 2004 11:59 <-- editieren / zitieren --> Unities abgeben: Nur für Alpschorsch
|
Alpschorsch Mitglied Dipl.-Ing.(FH) Architektur
Beiträge: 735 Registriert: 18.11.2003 ACAD 2004,Express Tools, WIN 2000,
|
erstellt am: 06. Aug. 2004 12:00 <-- editieren / zitieren --> Unities abgeben:
|
Alpschorsch Mitglied Dipl.-Ing.(FH) Architektur
Beiträge: 735 Registriert: 18.11.2003 ACAD 2004,Express Tools, WIN 2000,
|
erstellt am: 06. Aug. 2004 12:05 <-- editieren / zitieren --> Unities abgeben:
|
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 06. Aug. 2004 12:12 <-- editieren / zitieren --> Unities abgeben: Nur für Alpschorsch
|
Theodor Schoenwald Ehrenmitglied
Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 08. Aug. 2004 22:37 <-- editieren / zitieren --> Unities abgeben: Nur für Alpschorsch
|
Alpschorsch Mitglied Dipl.-Ing.(FH) Architektur
Beiträge: 735 Registriert: 18.11.2003 ACAD 2004,Express Tools, WIN 2000,
|
erstellt am: 10. Aug. 2004 10:18 <-- editieren / zitieren --> Unities abgeben:
@ Theodor Schoenwald, vielen Dank! Brauchte aber in diesem Fall nur eine reine Nummerierung (Bestuhlungsplan/ Sitznummern). Aber Dein Tool kann ich sicher bei Gelegenheit mal brauchen! Danke! Mfg Alpschorsch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Alpschorsch Mitglied Dipl.-Ing.(FH) Architektur
Beiträge: 735 Registriert: 18.11.2003 ACAD 2004,Express Tools, WIN 2000,
|
erstellt am: 10. Aug. 2004 14:52 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich bin's nochmal! Möchte jetzt den Einfügepunkt etwas nach unten verschieben! z.B. 10 Einheiten! Geht doch bestimmt mit den Gruppencodes? Wo muß ich suchen! Hab in der LISP-Hilfe gesucht und ein bischen gefunden, aber noch nicht das richtige! Kenn mich da noch nicht so aus! Bitte um einen kleinen Hiep auf den Hinterkopf! Nich so doll! Mfg Alpschorsch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 10. Aug. 2004 14:56 <-- editieren / zitieren --> Unities abgeben: Nur für Alpschorsch
ne, so wie du meinst sicher nicht! Der Einfügepunkt ( wo der Text in der Zeichnung steht)ist in GC10 gespeichert,-> den kannste ändern, aber den "Griff" (untenlinks am Text)nicht. ------------------ - Thomas - Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Alpschorsch Mitglied Dipl.-Ing.(FH) Architektur
Beiträge: 735 Registriert: 18.11.2003 ACAD 2004,Express Tools, WIN 2000,
|
erstellt am: 10. Aug. 2004 15:08 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 10. Aug. 2004 15:26 <-- editieren / zitieren --> Unities abgeben: Nur für Alpschorsch
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 10. Aug. 2004 15:30 <-- editieren / zitieren --> Unities abgeben: Nur für Alpschorsch
@Caddfm .. schöne Möglichkeit mit einfachen Mitteln ans Ziel zu kommen!! @Alpschorsch: wenn du es gleich in dein Tool implementieren willst, anbei mal ein Codfragment: (setq DATEN (entget(car(entsel)))) (if (not(equal (cdr(assoc 11 DATEN)) '(0.0 0.0 0.0))) (progn (setq XYZ (cdr(assoc 11 DATEN))) (entmod (subst (cons 11 (list (car XYZ) (- (cadr XYZ) 10) (caddr XYZ) ) ) (assoc 11 DATEN) DATEN ) ) ) (progn (setq XYZ (cdr(assoc 10 DATEN))) (entmod (subst (cons 10 (list (car XYZ) (+ (cadr XYZ) 10) (caddr XYZ) ) ) (assoc 10 DATEN) DATEN ) ) ) ) ... wenn du dich im letzten halben Jahr schon ein wenig mit Lisp beschäftigt hast ( vermute ich mal bei all deinen unerfüllten Wünschen ) , dürfte die Anpassung kein Problem sein. ------------------ - Thomas - Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Alpschorsch Mitglied Dipl.-Ing.(FH) Architektur
Beiträge: 735 Registriert: 18.11.2003 ACAD 2004,Express Tools, WIN 2000,
|
erstellt am: 10. Aug. 2004 15:36 <-- editieren / zitieren --> Unities abgeben:
@ cadmium, Du erwartest aber viel von mir! Ich schau mal! oh,oh!! Danke euch! --Schraub,schraub-- --Wie Ihr euch das immer aus den Fingern saugt! --Bin immer wieder beeindruckt-- ( Schleim!) Mfg
[Diese Nachricht wurde von Alpschorsch am 10. Aug. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 10. Aug. 2004 15:48 <-- editieren / zitieren --> Unities abgeben: Nur für Alpschorsch
|
Alpschorsch Mitglied Dipl.-Ing.(FH) Architektur
Beiträge: 735 Registriert: 18.11.2003 ACAD 2004,Express Tools, WIN 2000,
|
erstellt am: 10. Aug. 2004 16:07 <-- editieren / zitieren --> Unities abgeben:
@ Dober Heinz, ja klar! Mach Dir da aber nicht viel Hoffnungen! Ich habe da echt nicht viel Plan von! Kann die Dinger wohl laden, aber der Rest ist noch chinesisch! Muß mal gucken! Stellt sich nur die Frage, ob Du mit den Textabständen, die ich bräuchte auch was anfangen kannst? Oder wieder anpassen! Wenn ich es hab, kriegste es! Mfg Alpschorsch [Diese Nachricht wurde von Alpschorsch am 10. Aug. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 10. Aug. 2004 16:14 <-- editieren / zitieren --> Unities abgeben: Nur für Alpschorsch
|
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 11. Aug. 2004 09:31 <-- editieren / zitieren --> Unities abgeben: Nur für Alpschorsch
hallo alpschorsch wenn du den text um 10 einheiten nach oben haben möchtest ist das einfachst diese lösung ersetz in deinem code vom 1. posting diese zeile (cons 10 ipt) mit (cons 10 (polar ipt (/ pi 2.) 10))
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 11. Aug. 2004 15:16 <-- editieren / zitieren --> Unities abgeben: Nur für Alpschorsch
|