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

Doppelblöcke finden

  • Ersteller Ersteller Gigi Castle
  • Erstellt am Erstellt am

Gigi Castle

Guest
guten Morgen für alle, es ist möglich, mit einer Lispe alle Blöcke mit dem gleichen Namen in einem Dwg zu finden und dann sicherzustellen, dass Sie markieren sie durch die Änderung der Farbe der gefundenen Doppel?
Danke im Voraus
 
conblok ermöglicht es Ihnen, einen bestimmten Block (in einem Bereich oder im gesamten Design) zu finden und Linien zu starten, die von einem leeren Punkt des Designs, alle Blöcke mit dem gleichen Namen erreichen.
Alternativ können Sie eine Tabelle erstellen, die die Anzahl der gefundenen Blöcke angibt (wenn Sie sich entscheiden, alle Blöcke mit beliebigem Namen in diesem Bereich zu suchen).
 

Anhänge

conblok ermöglicht es Ihnen, einen bestimmten Block (in einem Bereich oder im gesamten Design) zu finden und Linien zu starten, die von einem leeren Punkt des Designs, alle Blöcke mit dem gleichen Namen erreichen.
Alternativ können Sie eine Tabelle erstellen, die die Anzahl der gefundenen Blöcke angibt (wenn Sie sich entscheiden, alle Blöcke mit beliebigem Namen in diesem Bereich zu suchen).
Dank für die Antwort...aber anstatt die Tabelle zu erstellen (die mir auch die einzelnen Blöcke sagt), gäbe es eine Möglichkeit, nur die doppelten auszuwählen, die Sie finden? so würde es genügen, sie von Schichten mit einer anderen Farbe zu ändern, und ich hätte mich niedergelassen.. die Zeichnungen, die ich analysieren muss, haben von 1000 Blöcken mehr als alles. .
 
die Blöcke, die im 'Einzel'-Modus (derjenige, der Sie wollen, um sie mit den Zeilen zu identifizieren), legt sie in eine Auswahl-Set "previous". Dies bedeutet, dass Sie den Befehl 'change' geben können, den Präzedenzfall auswählen, indem Sie ihn "p" geben und diese Schichten ändern.
 
Also muss ich den Befehl starten und für jeden einzelnen Block für 1000 Zeichnungsblöcke klicken, das Konzept war nur, um dies zu vermeiden und eine automatische Auswahl von Doppel finden. .
 
Sie brauchen keine lisp zu tun stash...just selectsimilar Befehl oder Blockzählung
Ich habe zwei Listen von Blöcken mit beigefügter Beschreibung in der gleichen dwg verfeinert, mit selectsimilar wählt auch die einzelnen Blöcke.in Münzen, muss ich in der "list 1" markieren, was in der "list 2" vorhanden ist, also ohne alle einzelnen Blöcke
 
wie aus dem Bild, muss ich den Weg finden, um alle Blöcke der Liste, auf die sie in der Liste b wiederholen, dies für verschiedene Designs..so die Tatsache, Block nach Block zu wählen, um zu sehen, ob es tatsächlich doppelt ist und dann ändern Schichten zu mechanisch. .

die lisp, die freundlicherweise zu mir veröffentlicht x11start schafft, die Doppelblöcke zu lokalisieren, aber sie nicht auszuwählen, sondern schafft eine Tabelle, die nur zeigt, was sie sind..if anstatt Linien und Tabellen zu erstellen, wäre es einfach fantastisch. Obwohl ich mich vor kurzem der Lispe näherte, versuchte ich es ohne Erfolg zu ändern. .
 

Anhänge

  • Esempio.png
    Esempio.png
    39,5 KB · Aufrufe: 10
eine Eide von peter jamtgaard, vielleicht wäre es besser geeignet als meine: einmal gestartet schreibt, um die Liste aller Blöcke und ihre n.
es wäre, die Lispe zu starten, mit f2 öffnen Sie den Textbildschirm, wählen Sie Scrollen nach unten und halten Sie die linke Maustaste, machen Sie eine Kopie-Paste auf einem neuen Blockdokument; an diesem Punkt könnte der Vergleich auch durch Importieren der Textdatei auf den Excel-Spalten geschehen. Ich werfe es hin!
 

Anhänge

Ich würde es so lösen:
Code:
;
;; spulcia - unterstreicht die Blöcke des 2. Auswahlsatzes
;; vorhanden auch im 1. Auswahlsatz
;;
;
(defun crea_lista (ss / list n)
(Setq n 0 Liste '() )
(Repeat)
(setq list(cons (cdr(assoc 2 (entget(ssname ss n)))))))))
(Setq n(1+n))
)
Liste
)


(defun c:spulcia (/ ss_a ss_b list_a double list_b)
(prompt)\nselect Blöcke Liste a)
(setq ss_a(sget '(0 . "insert")))))
(prompt)\nselect Blöcke Liste b)
(setq ss_b(sget '(0 . "insert")))))
(setq list_a(crea_lista ss_a))
(setq list_b(crea_lista ss_b))
(doppel setq(ssadd))
(foreach b list)
(falls (Fahrzeug) list_a)
(lacht)
)
)
(falls (>)0)
(Progn)
(sssetfirst nil double)
(prompt(strcat"\n"(itoa(sslength double))) " duplikate detektiert"))
)
(prompt)\nnessa duplicate detektiert)
)

(princ)
)
 
Ich würde es so lösen:
Code:
;
;; spulcia - unterstreicht die Blöcke des 2. Auswahlsatzes
;; vorhanden auch im 1. Auswahlsatz
;;
;
(defun crea_lista (ss / list n)
(Setq n 0 Liste '() )
(Repeat)
(setq list(cons (cdr(assoc 2 (entget(ssname ss n)))))))))
(Setq n(1+n))
)
Liste
)


(defun c:spulcia (/ ss_a ss_b list_a double list_b)
(prompt)\nselect Blöcke Liste a)
(setq ss_a(sget '(0 . "insert")))))
(prompt)\nselect Blöcke Liste b)
(setq ss_b(sget '(0 . "insert")))))
(setq list_a(crea_lista ss_a))
(setq list_b(crea_lista ss_b))
(doppel setq(ssadd))
(foreach b list)
(falls (Fahrzeug) list_a)
(lacht)
)
)
(falls (>)0)
(Progn)
(sssetfirst nil double)
(prompt(strcat"\n"(itoa(sslength double))) " duplikate detektiert"))
)
(prompt)\nnessa duplicate detektiert)
)

(princ)
)
Es ist perfekt!! so lässt es mich in der Auswahl und ich kann bequem Schichten und Farbe ändern! Vielen Dank!
 

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