|
Lisp : Variable für Aufruf optional machen.
Andreas Widmann am 04.08.2009 um 17:53 Uhr (0)
Hallo Leute,ich bin sicher ihr könnt mir schnell helfen.Habe leider keine Ahnung von Lisp (und vermutlich deshalb auch nichts in der Suche gefunden).Mein Code ist folgender: (nur die Fett markierten Sachen hab ich reingemacht)Code:(defun seLaySchr (sTyp sWi sMSTB sCo /) (setvar "cmdecho" 0) (if (not (= sCo nil)) (setq previous-color (getvar "cecolor"))) (if (not (= sCo nil)) (setvar "cecolor" sCo)) (setq BMSTB (getvar "CANNOSCALEVALUE")) (setq inpoint (getpoint "
Punkt in der Fläche wählen oder [Objektwahl ...
|
In das Form Lisp wechseln |
|
Lisp : Variable für Aufruf optional machen.
wronzky am 04.08.2009 um 18:25 Uhr (0)
Hallo Andreas,klare Antwort: geht (mit Lisp) NICHT!einzige Möglichkeit ist als Argument eine Liste von Argumenten zu übergeben:Code:(defun seLaySchr (argliste /) (setq sTyp (car argliste) sWi (cadr argliste) sMSTB (caddr argliste) sCo (cadddr argliste)) ...ist kein 4. Listenelement vorhanden, dann ist sCo nil.Grüsse, Henning------------------Henning JesseVoxelManufakturComputer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
In das Form Lisp wechseln |
|
Lisp : ssget mit Farben
Dorfy am 05.08.2009 um 14:48 Uhr (0)
hi,mal auf die schnelle(ssget "X" ((-4 . "NOT")(62 . -Farbe- )(-4 . "NOT")))------------------Mfg HeikoElefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..." (www.uni-leipzig.de/~rotheh/elefant.htm)
|
In das Form Lisp wechseln |
|
Lisp : ssget mit Farben
Dorfy am 05.08.2009 um 15:04 Uhr (0)
ja auf die Schnelle(-4 . "or")...(-4 . "or") vergessen analog mit and(ssget "X" ((-4 . "AND") (0 . "LINE") (-4 . "OR") (62 . 2) (62 . 5) (-4 . "OR") (-4 . "AND")))------------------Mfg HeikoElefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..." (www.uni-leipzig.de/~rotheh/elefant.htm)
|
In das Form Lisp wechseln |
|
Lisp : ssget mit Farben
Dorfy am 05.08.2009 um 15:13 Uhr (0)
mmh...(setq filter (append (list (-4 . "OR")) (mapcar (function (lambda (x) (cons 62 x)));dxf (list 2 5);farbliste ) (list (-4 . "OR")) ))Edit: das not vergessen(ssget filter)------------------Mfg HeikoElefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..." (www.uni-leipzig.de/~rotheh/elefant.htm)[Diese Nachricht wurde von Dorfy am 05. Aug. 2009 editiert.]
|
In das Form Lisp wechseln |
|
Lisp : ssget mit Farben
Dorfy am 05.08.2009 um 15:31 Uhr (0)
;sub(defun or_filter (dxf numlist /)(append (list (-4 . "not")) (list (-4 . "OR")) (mapcar (function (lambda (x) (cons dxf x)));dxf numlist;liste ) (list (-4 . "OR")) (list (-4 . "not")) ));aufruf(ssget (or_filter 62 (list 2 5))------------------Mfg HeikoElefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..." (www.uni-leipzig.de/~rotheh/elefant.htm)
|
In das Form Lisp wechseln |
|
Lisp : automatisch alle Objekte auswählen
mundal am 11.08.2009 um 10:23 Uhr (0)
Hallo Zusammen,habe folgenden Code in einem LISP-Programm:(if (setq elem (entsel))(progn ...))An dieser Stelle muss ich das Objekt währenddes Programmablaufes manuell auswählen.Nun mein "Problem", bzw. Frage:Ist es in Lisp möglich "alle Objekte automatisch" auszuwählen.Danke im Voraus für Eure Hilfe.GrußJoachim
|
In das Form Lisp wechseln |
|
Lisp : Text zu Attribut
Oliver M am 11.08.2009 um 14:05 Uhr (0)
Hallo liebe Lisp-Gemeinde,ich habe folgendes Problem und bei der Forensuche leider noch keine adhoc funktionierende Lösung gefunden:Wir haben eine Bestandskartierung von Biotoptypen, in der die Biotoptypenkürzel als einzeiliger Text in den Flächen stehen.Um eine Auswertung über eine Topologie machen zu können (Wieviel Fläche insgesamt/pro Flurstück von welchen Biotoptyp?) möchte ich gerne die "Textwerte" (=Inhalte) direkt in einen vordefinierten Block mit nur einem Attribut als Attributwert schreiben, wobe ...
|
In das Form Lisp wechseln |
|
Lisp : auswahlsatz
Dorfy am 11.08.2009 um 13:41 Uhr (0)
hi,ich werf mal "die Hilfe" in die RundeActiveX... Properties...(vla-get-freeze item)(vla-get-lock... noch hinterher------------------Mfg HeikoElefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..." (www.uni-leipzig.de/~rotheh/elefant.htm)
|
In das Form Lisp wechseln |
|
Lisp : Text in Attribut kopieren
MDTiger am 27.07.2009 um 16:23 Uhr (0)
Hallo Zusammen,Ich habe folgendes Problem: ich möchte Texte in meinen Zeichnungen (Schemas) direkt in bestimmte Attribute meiner Blöcke kopieren. Ich habe folgende Lisp-Routine, mit der ich Texte in ein beliebiges Attribut (mit Inhalt vorausgesetzt) kopieren kann.(defun C:TXT2ATT ( / ele ele_list txt_inhalt);Inhalt von Text in Attribut eines anderen Blocks kopieren (setq ele (nentsel "
Welchen Text kopieren ?")) (if ele (progn (setq ele_list (entget (car ele))) (if (= (cdr (assoc 0 ele_list)) "TE ...
|
In das Form Lisp wechseln |
|
Lisp : Text in Attribut kopieren
Dorfy am 11.08.2009 um 13:34 Uhr (0)
hi,mit netsel könnte es so gehen(setq vlaObj(vlax-ename-vla-object(car (nentsel))))(vl-catch-all-apply vla-put-TextString(list vlaObj "blabla_dein_string_blabla"))Aber Ernst sein Weg ist wohl besser aber auch etwas komplizierter ------------------Mfg HeikoElefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..." (www.uni-leipzig.de/~rotheh/elefant.htm)
|
In das Form Lisp wechseln |
|
Lisp : Text in Attribut kopieren
Oliver M am 11.08.2009 um 14:01 Uhr (0)
Hi Dorfy,also wenn ich dich richtig verstehe, soll ich die Zeile 10:" (setq ele (nentsel "
In welches Attribut kopieren ?"))"ersetzten durch die zwei Zeilen:"(setq vlaObj(vlax-ename-vla-object(car (nentsel))))(vl-catch-all-apply vla-put-TextString(list vlaObj "blabla_dein_string_blabla"))" ?Diese vla-Befehle sind mir fremd, meine Lisp-Kurs ist doch schon eine ganze Weile her, stelle ich fest (ca. 5 Jahre).Könntest Du das bitte etwas ausführlicher schreiben? Danke!Oliver
|
In das Form Lisp wechseln |
|
Lisp : Text in Attribut kopieren
Dorfy am 11.08.2009 um 15:35 Uhr (0)
Versuch mal...(defun C:TXT2ATT_Dimension (/ ele ele_list txt_inhalt bl atts tagname) ;;Inhalt von Text in Attribut eines anderen Blocks kopieren (setq ele (nentsel "
Welchen Text kopieren ?")) (if ele (progn (setq ele_list (entget (car ele))) (if (= (cdr (assoc 0 ele_list)) "TEXT") (progn (setq txt_inhalt (cdr (assoc 1 ele_list))) (setq ele (entsel "
Wohin kopieren ?")) (if ele;;;;;;;;;;;;;;;;;;;;;;;;;;;; (progn (setq bl (vlax-ename-vla-object (car ele)) tagname "Dimension" ;;---- ) ...
|
In das Form Lisp wechseln |