|
Lisp : eine bestehende lisp auf den Inhalt von Blöcken erweitern?
-ikarus- am 17.12.2008 um 08:44 Uhr (0)
Danke für die schnelle AntwortAlso mir geht es darum, das ich meine bestimmte Zeichenreihenfolge auch auf den Inhalt von Blöcken anwenden kann.anbei mal die von mir erstellte draworder.(defun C:DRAWOR ( / ofang1 helems la bema mas bema1 sch15 sch95 gr30 sch95 rah10 kon1)(setq ofang1 (getvar "osmode"));^C^C(if (setq helems (ssget "_X" ((0 . "HATCH"))))(command "_.draworder" helems "" ""))(command "_.copy" "alle" "e" helems "" "@" "@")(command "_.erase" "V" "");^C^C(if (setq mas (ssget "_X" ((0 . "HATCH") (2 ...
|
In das Form Lisp wechseln |
|
Lisp : eine bestehende lisp auf den Inhalt von Blöcken erweitern?
CADmium am 17.12.2008 um 08:47 Uhr (0)
nee, das mußt du IMHO anders lösen, denke, das wird so mit command nix ... ich hatte mal ähnliches so gelöst..------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
In das Form Lisp wechseln |
|
Lisp : eine bestehende lisp auf den Inhalt von Blöcken erweitern?
-ikarus- am 17.12.2008 um 09:29 Uhr (0)
OKHeißt das es gibt da keine Möglichkeit die Lisp zu erweitern, das sie auf den Inhalt von Blöcken zugreift?Wenn ich einen Block im Blockeditor öffne, dann funktioniert die Lisp auch, es ist halt sehr zeitaufwändig jeden Block zu öffnen. Ich dachte halt das es als eine Erweiterung der Lisp möglich wäre diesen schritt im Hintergrund nach einer Blockliste ablaufen zulassen. Aber es sieht wohl nicht danach aus, dass das geht.
|
In das Form Lisp wechseln |
|
Lisp : Erweiterung Lisp zum Ermitteln von einem Schnittpunkt
neurosis am 17.12.2008 um 14:28 Uhr (0)
hallo,1. eckpunkte mittels getpoint von flaeche angeben oder punkte der flaechenbegrenzung auslesen (uebergabe mittels entsel)2. alle relevanten linien ueber ssget anklicken3. in einer schleife alle schnittpunkte der flaeche mit einzelnen linien berechnen (siehe dazu auch http://local.wasp.uwa.edu.au/~pbourke/geometry/planeline/ ) und in liste speichern4. polylinie oder linien aus allen schnittpunkten erzeugengrussmarco------------------Marco Heuer www.arc-aachen.de Airport Office
|
In das Form Lisp wechseln |
|
Lisp : Erweiterung Lisp zum Ermitteln von einem Schnittpunkt
Geos am 18.12.2008 um 07:50 Uhr (0)
Meinst Du sowasCode:(defun c:schnittp ( / P1 P2 P3 P4 P5 P6); by Stefan Schwankner - 2008-04-10(arxload "GEOMCAL") ;;;Rechner muss geladen werden (setq P3 (getpoint "
Erster Punkt der Ebene:")) (setq P4 (getpoint "
Zweiter Punkt der Ebene:")) (setq P5 (getpoint "
Dritter Punkt der Ebene:")) (while (setq P1 (getpoint "
Erster Punkt der Linie:")) (setq P2 (getpoint "
Zweiter Punkt der Linie:")) (setq OSCHNAePP (getvar "osmode")) (command "osmode" 0) (cal "P6=ilp (p1,p2,p3,p4,p5)") (command "_sp ...
|
In das Form Lisp wechseln |
|
Lisp : Erweiterung Lisp zum Ermitteln von einem Schnittpunkt
StephanJP am 18.12.2008 um 08:28 Uhr (0)
Vielleicht sowas...Code:;by Stephan Vette - 2006-09-13(defun c:vme () ;verschneidet alle Linien mit einer Ebene (arxload "geomcal" T) (setq as (ssget ((0 . "LINE"))) ebene (getreal "zu erreichende Ebene eingeben: ") ep1 (list 0.0 0.0 ebene) ep2 (list 0.0 10.0 ebene) ep3 (list 10.0 0.0 ebene) n 0 en (ssname as n) ) (while en (setq p1 (cdr (assoc 10 (entget en))) p2 (cdr (assoc 11 (entget en))) ) (kal "vp=ilp(p1,p2,ep1,ep2,ep3)") (cond (( (nth 2 p1)(nth 2 p2))(entmod (list (car (entget en))(cons 10 vp)) ...
|
In das Form Lisp wechseln |
|
Lisp : Selection Set LISP -> VBA
autocart am 18.12.2008 um 09:25 Uhr (0)
Hallo!Gibt es eine einfache (in Autocad eingebaute) Möglichkeit, ein LISP-Selection-Set in ein VBA-Selection-Set-Object umzuwandeln (und umgekehrt)? Danke.(In der Suche fand ich dazu noch nichts, obwohl man meinen sollte, dass das eher zu den Grundlagen gehört.)------------------Gruß, Stephanwww.stbartl.at
|
In das Form Lisp wechseln |
|
Lisp : Erweiterung Lisp zum Ermitteln von einem Schnittpunkt
treffi75 am 18.12.2008 um 09:43 Uhr (0)
Hi zusammen,habe aus den informationen, die ihr mir gegeben habt eine lsp zusammengestellt und sie funktioniert!programmiertechnisch sicherlich nicht das feinste, denn man könnte, so wie stephan meinte zuerst alle linien anklicken und dann die berechnung durchführen, aber so auf die schnelle funzt meins auch.Danke nochmal für die anregungen, habs angehängt.gruß, treffiP.S.: Übrigens, Ernst, ich glaube wir kennen uns!!
|
In das Form Lisp wechseln |
|
Lisp : Selection Set LISP -> VBA
CADmium am 18.12.2008 um 09:58 Uhr (0)
..muß man sich programmieren..------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
In das Form Lisp wechseln |
|
Lisp : Selection Set LISP -> VBA
alfred neswadba am 18.12.2008 um 10:01 Uhr (0)
Hi Stephan,ein paar Dinge könnten mir da schon einfallen, hängt aber sehr von der Arbeitsweise ab.Da wären für SelectionSet in DVB die Parameter acSelectionSetPrevious, acSelectionSetLast == abhängig von dem, wie Du in Lisp selektiert hast, kannst Du das eventuell direkt verwendenDann wäre noch das ImpliedSelectionSet oder Suchbegriff PickFirstxxx == aktuell selektierte ElementeSind mal ein paar Ideen, wenn ein wenig mehr Beschreibung Deines Workflows kommt, dann kommen vielleicht noch mehr Ideen- alfred -
|
In das Form Lisp wechseln |
|
Lisp : Selection Set LISP -> VBA
autocart am 18.12.2008 um 10:23 Uhr (0)
Danke Cadmium für die Info (Absicherung), dass es nicht internes (fix-fertiges) gibt.Noch größerer Dank an Alfred für die Idee mit acSelectionSetPrevious, da es für mich funktioniert, z.B.: Zitat:(setq selsetLisp (ssget "_X"))(setq selsetVBA (vla-Select(vla-Add(vla-get-SelectionSets(vla-get-ActiveDocument(vlax-get-acad-object))) "selset01")acSelectionSetPrevious))So muss ich nicht händisch jedes einzelne Element durchgehen. Toll. Danke.------------------Gruß, Stephanwww.stbartl.at
|
In das Form Lisp wechseln |
|
Lisp : Selection Set LISP -> VBA
alfred neswadba am 18.12.2008 um 10:40 Uhr (0)
Hi Stephan,vorweg ich verstehe 0 (in Worten NULL) von Lisp, aber Deine Lösungsbeschreibung ist mit nicht klar, vielleicht fehlt mir nur LISP-Verständnis, vielleicht mach ich Dich mit diesem nur auf etwas aufmerksam. Das in VBA reservierte Wort acSelectionSetPrevious hat in Lisp IMHO keine Bedeutung, und aus meiner Sicht hat Deine 2.te Zeile auch für das Funktionieren in VBA keine Auswirkung.Wenn Du zuerst in Lisp dieses machst: (setq selsetLisp (ssget "_X"))Und unter der Voraussetzung, dass der Anwender di ...
|
In das Form Lisp wechseln |
|
Lisp : Selection Set LISP -> VBA
autocart am 18.12.2008 um 11:02 Uhr (0)
@Alfed: Zitat:... vielleicht fehlt mir nur LISP-Verständnis ... Lass mich wissen, wenn ich irrehehe... was soll ich noch mehr sagen? vielleicht nur so viel: probiers doch mal aus:Befehl: vlideund dann am einfachsten in der "Visual LISP-Konsole" zuerst(vl-load-com) ENTERund dann die 2 Zeilen Code hintereinander. Dass bei der 2.Zeile "nil" zurückgegeben wird, macht nichts - ist so.Mit (vla-dump-object selsetVBA) siehst du dann, dass im VBA-SelSet die selbe Anzahl an Objekten drin ist, wie mit ssget gewählt ...
|
In das Form Lisp wechseln |