|
Lisp : Text aendern
joern bosse am 24.08.2011 um 07:22 Uhr (0)
Hallo Giovanni,ich habe Dir Deinen Code nochmal ein bißchen aufgeräumt, z.B. nutze ich jetzt bei der Funktion ERS den Rückgabewert, die Variablen habe ich lokal definiert, aber vom Prinzip derselbe Code wie bei Dir. Bei mir hatte es ja auch schon mit Deinem ursprünglichen Code funktioniert, deshalb bin ich mir nicht sicher ob Dir das weiter hilft.Die Variablen YSA TSA und SP habe ich rausgeschmissen weil sie scheinbar gar nicht verwendet worden sind.Code:(DEFUN C:AETXT ( / ASA BRA BRN CLA CLR STA STN SWA S ...
|
In das Form Lisp wechseln |
|
Lisp : Brauche Hilfe
Dorfy am 24.08.2011 um 14:57 Uhr (0)
Zitat:Original erstellt von cadplayer:...wie würde denn so eine routine ausschauen, die es erlaubt wieder an den Programmursprung zu gelangen. ... ich helf dir mal beim Suchen einfach mit vl-catch-all-apply füttern - beißt auch nicht ------------------Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..."
|
In das Form Lisp wechseln |
|
Lisp : Blockattribute bearbeiten
Meldin am 24.08.2011 um 21:32 Uhr (0)
Hi,mit Bordmitteln wohl nicht aber da du ja hier im LISP Forum schreibst besteht durchaus die Möglichkeit das zu Programmieren.Du brauchst nur den Text einmal Tauschen, in etwa so: X-Wert des Attributs in "blablabla" tauschen und anschließend wieder in X-Wert.Geht wunderbar in Lisp sowie ActiveX. ------------------Gruß Wolfgang Alias: Rabbit007 und Wolli1 die aus unerklärlichen Gründen aus dem System hier gelöscht wurden.
|
In das Form Lisp wechseln |
|
Lisp : Blockattribute bearbeiten
Dorfy am 25.08.2011 um 10:07 Uhr (0)
vergleiche mal die entity list von zwei Blöckeneinen mit und einen ohne Attributachte aufGC 66 und "SEQEND"und bei dem mit gc 66 mal entnext entity ansetzen und schauen was passiertggf in einer Schleife (while entnext....)und die entity list anschauen wenn ein seqend auftaucht Neue Erkenntnisse? ------------------Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..."[Diese Nachricht wurde von Dorfy ...
|
In das Form Lisp wechseln |
|
Lisp : Blockattribute bearbeiten
Dorfy am 25.08.2011 um 12:06 Uhr (0)
Zitat:Original erstellt von cadplayer:wie soll ich weiter mit entnext vorgehen, um an die Attribute zu kommenna du erhältst ein entity - was kann man damit machen?löschen, verschieben, kopieren und wieder löschen versuch doch mal die entity liste von dem entnext entity zu erhalten (mit entget)und schau dir diese an...und dann die nächste ... usw ... bis gc 0 seqend kommt...wo ist das attribut und wo ist der wert und ...steht oben alles im code ------------------Mfg Heiko Elefantenjagd in Afrika "... L ...
|
In das Form Lisp wechseln |
|
Lisp : Blockattribute bearbeiten
Meldin am 25.08.2011 um 13:33 Uhr (0)
Also wenn du einen Insert (Objekt) hast z.B. (setq MyBlockObj(car (entsel "
Block wählen : ")))fragst du hat er Attribs also assoc 66 entget MyBlockObjwenn ja solltest du MyBlockObj entnexen (entget(setq MyBlockObj(entnext MyBlockObj))) und das dann so lange bis bei assoc 0 "SEQEND" erscheint.Und dann hast du es vom Start von entnext bis zu seqend liegen dann deine Daten.Zudem habe ich mal aus meiner Sicht die Möglichkeiten zusammengefasst die mir ad-hoc eingefallen sind von einem Attribut das Schriftfeld ...
|
In das Form Lisp wechseln |
|
Lisp : Text aendern
giovanni64 am 27.08.2011 um 15:29 Uhr (0)
Hi CADmium,ein grosses Dankeschoen fuer die nette Unterstuetzung und fuer das Programm, was ich auch ausprobiert habe und funktioniert ausgezeichnet.Zwischenzeitlich habe ich mich nochmals eingehend mit meinem Programmcode befasst und habe dann, die von Dir verwendete Funktion wie folgtabgewandelt und hat auch funktoniert:Alt: ;(if (/= clr "")(ers 62 clr cla)) Neu: (if ( clr 0)(ers 62 clr cla))Ich muss hinzufuegen, dass ich schon lange nichts mehr mit LISP gemacht habe und somit wieder vieles vergessen hab ...
|
In das Form Lisp wechseln |
|
Lisp : Text aendern
giovanni64 am 27.08.2011 um 15:41 Uhr (0)
Hi Joern,vielen Dank fuer Deine grosszuegige Hilfe und die Kurzanleitung. Auch Dein Programm laeuft hervorragend.Mit Deiner und all den andern ihrer Hilfe ist es mir gelungen, mein Programm wie folgt zum Laufen zu bringen,sonst haette ich es nicht so schnell geschafft:Alt: ;(if (/= clr "")(ers 62 clr cla)) Neu: (if ( clr 0)(ers 62 clr cla))Es ist eben schon viel zu lange her, dass ich mich mit Lisp befasst habe und zum Zeitpunkt meines Problems hatte ich noch andere Sachen fertig zu stellen. Nun habe ich e ...
|
In das Form Lisp wechseln |
|
Lisp : Text aendern
giovanni64 am 23.08.2011 um 10:15 Uhr (0)
Zitat:Original erstellt von CADchup:Hi,der Fehler liegt im Vergleich von NIL mit nix. [i](setq clr (getint "
New Color, Return if no change: "))ergibt NIL, wenn du mit Return drüber gehst, weil ja nur die Texthöhe ersetzt werden soll.Später überprüfst du die Variable clr aber mit:(if (/= clr "")was T ergibt, denn NIL ist keine leere Zeichenfolge, woraufhin die Funktion (ers) 62 mit nil const.Daraus ergibt sich nun ein Farb-Gruppencode (62) und den mag Acad gar nicht....(8 . "404_TX_Lageplan_500_NE") (62 ...
|
In das Form Lisp wechseln |
|
Lisp : Text aendern
Dober Heinz am 23.08.2011 um 06:41 Uhr (0)
Hallo giovanni64Ich verweise mal auf diese Seite http://www.cadtutor.net/forum/showthread.php?61827-Text-hight-only-change&s=c217176a7a33b85cd6e53d5715e5ed75 Und verwende das Lisp von Lee das funktioniert.------------------ Heinz
|
In das Form Lisp wechseln |
|
Lisp : Punktkoordinaten aus Datei auslesen
CAD-Huebner am 30.08.2011 um 14:36 Uhr (0)
Zitat:Original erstellt von cadplayer:Ich hab mal ein Beispiel meiner Koord-datei angehangenIm Prinzip sind die Zeilen immer so aufgebautPunktnummer,X-koordinate,Y-koordinate,Z-koordinate,Punktcode... )Wenn es ums erlernen von Lisp geht - gutes Beispiel.Wenn es um Punktimport in Civil 3D geht - völlig unnötig, denn da sind die Funktionen zum Koordinatenimport (inkl. komfortablem Formateditor) bereits eingebaut.Befehl: ImportPointsDie Formate für "PRHZB Kommagetrennt" sind (je nach Vorlage) bereits vord ...
|
In das Form Lisp wechseln |
|
Lisp : Deutung von Meldungen bei der Prüfung
tappenbeck am 30.08.2011 um 18:59 Uhr (0)
Moin !das LISP-Forum ist zwar kein Entwicklerforum im strengen Sinne aber vielleicht kann mir einer von Euch trotzdem weiterhelfen.Die Daten aus einem Programm liefern bei der Prüfung immer folgende Meldungen:AcDbHatch(...) Boundary Missing a Reactor Remove AssociativityAcDbViewportTableRecord: "*ACTIVE"Kann mir einer von Euch sagen was die Ursache für die Meldungen sein kann und wie dem vielleicht begegnet werden kann?Gruß Jan :-)------------------jan :-)
|
In das Form Lisp wechseln |
|
Lisp : Befehl Breaker verbessern
Jonapap am 30.08.2011 um 22:41 Uhr (0)
Hi,ich habe in den Befehl jetzt mal den Error-Handler von mapcar eingebaut. Alles, was meiner Meinung nach durch den Handler in dem Befehl c:Breaker überflüssig geworden ist, habe ich auskommentiert.Erste Versuche haben wie gewünscht funktioniert Da ich mich mit Lisp nicht so gut auskenne:Könnte jemand von euch noch einmal einen Blick drauf werfen?Ich bin mir nämlich nicht ganz sicher, ob ich nicht doch etwas übersehen habe.Vielen Dank im voraus!Code:(defun c:Breaker (/ acdoc varlist echo pmode psize ent p ...
|
In das Form Lisp wechseln |