• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Wählen Sie ausgewählte Blöcke nach Namen

  • Ersteller Ersteller wallace23
  • Erstellt am Erstellt am

wallace23

Guest
Guten Morgen für alle, Ich würde eine Lispe benötigen, die automatisch alle Blöcke mit einem bestimmten Namen in der gesamten Design wählt und explodiert sie. .
Beispielsweise werden durch das Starten des Befehls "xxx" alle im Design vorhandenen Blöcke "aaa" ausgewählt und dann explodieren.
Wie können Sie diese Lispe schreiben?
wo finde ich eine Liste mit all diesen Variablen gut beschrieben?

Vielen Dank im Voraus (:
 
Du brauchst keine Lispe. Auswahlen mit dem _qselect Befehl die Blöcke, die als "aa" bezeichnet werden; einmal erstellt die Auswahlgruppe startet _explode
 
Ich brauche wirklich die Lispe, weil ich eine größere Lise komponiere, die mich automatisch viele Schritte zusammen macht. .
 
Nachweis così:
Code:
(Set-Variante "qaflags" 1)
(falls (setq blk (ssget "_x" (list '(0. "insert") '(aaa")))))))))))))
(vl-cmdf "._explode" blk "")
)
(Set-Variante "qaflags" 0)
 
Vielen Dank.
Was ich wollte...
Kann Ich frage Sie, was diese Variable tut, und die anderen Informationen dieser Sprache?
 
wallace, Ich übersetze gp lisp in Englisch:wink:

Suche im gesamten Dwg, Blöcke, die aaa genannt werden, wenn Sie finden sie in die blk-variable, nach denen sie explodieren.
die auf 1 gesetzten Varibiequaflags zur korrekten Ausführung des Explosionsvorgangs notwendig sind, da diese zuerst auf 1 gesetzt und dann auf 0 gemeldet wird.

(Ich lese den Gp! :finger:)
 
Vielen Dank.
...
Kann Ich frage Sie, was diese Variable tut, und die anderen Informationen dieser Sprache?
Bitte.

zur Kristallantwort füge ich hinzu, dass normalerweise eine Auswahlmenge an einen Befehl übergeben werden kann, während explodieren ohne qaflags=1 nur das erste Objekt des Satzes explodieren würde.

um diese Größe zu verlassen, ist es möglich, ein anderes Verfahren zu verwenden, in diesem Beispiel werden die Blöcke einzeln explodiert, aber wenn sie in hoher Anzahl wären, wäre das Verfahren langsamer:
Code:
(falls (setq blk (ssget "_x" (list '(0 . "insert") '(2 . "aa")))))
(Repeat (setq n (sslength blk))
(vl-cmdf "._explode" (ssname blk (setq n (1- n))")
)
)
als Dokumentation kann ich vorschlagen meine Lispe, während für die Hilfe (in Englisch) im Zusammenhang mit lisp, visuallisp und dxf ist es besser, das Handbuch zu konsultieren einige Version zurück, würde ich sagen, bis 2012, denn zuletzt ist es ein Immonda-Scheiß.



....pure undocumented Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nun, der gute Arri hatte es bereits berichtet Vor langer Zeit.
Ich frage mich, warum diese Variable, die das Verhalten verschiedener Verfahren beeinflusst, weiterhin durch Dokumentation ignoriert wird.
 
Ich frage mich, warum diese Variable, die das Verhalten verschiedener Verfahren beeinflusst, weiterhin durch Dokumentation ignoriert wird.
Es ist wahrscheinlich, dass die Wirkung der verschiedenen Qaflags-Einstellungen von der Version zu der Version von Autocad... so. besser nicht zu viel "Öffentlichkeit" machen können.
Ich weiß nicht, ob sie es noch implementieren, aber vielleicht benutzten die Programmierer es/verwenden es als 'Schalter', um ihre Tests am Sw durchzuführen.
Es ist anzumerken, dass die ausgezeichnete bricscad (bewahrende Kompatibilität mit autocad) unterstützt die Variable und dokumentiert die verschiedenen Werte, die es unterstützen kann Bild Allego, in denen einige Werte Auswirkungen auf den Debug der sdk habenqaflags_bricscad.gifwie ich auch beteiligt bin: "Festival der Explosion" :-)))
eine weitere Alternative zu dem Code in früheren Beiträgen gezeigt, um die Blöcke zu explodieren und gültig nur für autocad 2009 und später ist dies:
(falls (setq blk (ssget "_x" (list '(0 . "insert") '(2 . "aa")))))
(Progn)
(initcommandversion 2)
(Befehl "._explode" blk ")
)
)
initcommandversion, zurückgerufen vor dem Befehl, führt den Befehl als Befehlszeile aus.
Hi.
 
Es sagt Befehl unbekannt.
anstatt xx setzen az:

(Defun c:az)
(wenn (setq blk (ssget "_x" (list '(0 . "insert") '(2 . "nord_az")))))
(Progn)
(initcommandversion 2)
(Befehl "._explode" blk ")
)
)
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben