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

Ersetzen bestehender Schichten mit neuen Schichten

  • Ersteller Ersteller sircame
  • Erstellt am Erstellt am

sircame

Guest
Hallo, alle, ich habe versucht, es selbst herauszufinden, aber vergeblich... dann. .
Ich habe viele ctr von den verschiedenen Seiten der Regionen heruntergeladen und sind voller Schichten mit Namen auf eigene Faust.
Ich identifizierte die Schichten und teilte sie nach Kategorie (z.B. 2e5 ist eine Straße, 1b2 ist ein Gebäude).
Ich möchte es mit einem Skript reinigen.

Ich muss alle Schichten auswählen, die ich zuvor identifiziert habe und in meine neue Schicht setzen, praktisch die Objekte in den Schichten 2e5, 2l12, 3a1 werden in die _strade Schicht gelegt, die Objekte der Schichten 1b2, 8j10 werden in die _edifici Schicht etc...

Ich kann Dateien erstellen, ich kann alle Objekte dieser Schicht auswählen, was ich nicht tun kann und in die neue Schicht setzen.
Irgendeine Idee?
Danke!
 
(Befehl "_-layer" "_m" _strade" "_m" "_building" "" ) crei und Schicht

(setq sel (ssget "x" ((8. "_2e5,_2l12_,3a1"))))))
(Befehl "_change" sel ""_pr" "_la" "_strade"") Cambi il layer alle

(setq sel (ssget "x"(8. "_1b2,_8j10"))))))
(Befehl "_change" sel ""_pr" "_la" "_building"")

Bye
 
Ich kann Dateien erstellen, ich kann alle Objekte dieser Schicht auswählen, was ich nicht tun kann und in die neue Schicht setzen.
Irgendeine Idee?
Ich modifizierte ein Programm (cl = Change Layer), das die Elemente einer Schicht auswählt und sie kopieren kann - verschieben Sie sie - löschen Sie sie - und jetzt habe ich die Änderungsschicht hinzugefügt
funktioniert so:
1) starten Sie das Programm mit ( laden "cl")
2) auf ein Schichtelement klicken, um auszuwählen (um den Schichtnamen zu nehmen)
3) ein Auswahlfenster (auch teilweise): nur die Elemente dieser Schicht werden ausgewählt
4) geben Sie an, was Sie tun möchten (c-copy m-muovi e-elimia l-layercambia). in unserem Fall
5) die neue Schicht anzeigen
allego ist sowohl die cl.lsp-Datei aufgeführt
Hi.

;selectionlayer.lsp - autocad 2014
; alle Einheiten einer Schicht auswählen

(falls opz nil (setq opz "l"))
(setq opz1 ")
a (Strcat "\nselect layer: c-copy m-muove e-elimina l-layercambia <" opz "> :")
opz1 (getstring a)
)
(falls (/= opz1") (setq opz (strcase opz1))

(setq ss1 (entsel "\nsel select layer via a object)
en (car ss1) ;prelevated name (die Liste ss1 enthält auch Auswahlpunkt)
und (entget en)
cdr (assoc 8 ed)
)
(prompt "\nselect the area to select")
(setq ss2 (ssget (cons 8 et)))

(falls (= opz "c") (Befehl "copy" ss2"))
(wenn (= opz "m") (Befehl "seat" ss2"))
(wenn (= opz "e") (Befehl "cancella" ss2"))
(falls (= opz "l") (Befehl "caprop" ss2 "l"))
 

Anhänge

  • CL.lsp
    CL.lsp
    886 Bytes · Aufrufe: 14
Hallo, vielen Dank für die Antworten, ich konnte einen Ad-hoc für mich erstellen. Großartig, es macht mir die Schichten und dann reparieren sie wie ich will.
Jetzt die letzte Phase. das Design stellt sich nun "sportlich" heraus, weil es Schichten alt, neu, beleuchtet, abgeschaltet etc... das Endergebnis sollte nur durch meine Schichten komponiert werden.
Ich dachte, um ein Ergebnis so sauber wie möglich zu haben, um die Schichten zu blockieren (kann auf der Bühne sein, wenn ich sie schaffe), um alle Schichten des Designs anzuzeigen und alles zu löschen. Das spart nur meine neuen Schichten und reinigt dann das Design.
Jetzt versuche ich zu sehen, ob ich allein kann... ansonsten ich hier zurückkehre... er er er, während ich danke!!!
 
Riciao. Ich beendete das Drehbuch, am Ende vereinfachte ich es und 'come out this, incool it, dass vielleicht jemand dienen kann, wenn er ctr zu reinigen hat.
nur eine Sache funktioniert nicht, da einige ctr nicht retini in Gebäuden haben Ich wollte eine Bedingung mit tblsearch setzen, leider funktioniert es nicht. die 17a1-Schicht existiert, aber die Funktion 'als ob sie diesen Schritt überspringt. Wenn ich die Tblsearch-Werke entfernen.
Wissen Sie, warum?

Denkst du, du kannst das Drehbuch verfeinern? (nur meine Neugier)

Danke.

;creo alle Schichten und sperren sie
(Befehl "_-layer" "_m" "_main streets" "c" "2" "_lo" "_main streets"")
(Befehl "_-layer" "_m" "_strade secondarie" "c" "5" "_lo" "_strade secondarie" "")
(Befehl "_-layer" "_m" "_manufactured" "c" "1" "_lo" "_manufactured" "")
(Befehl "_-layer" "_m" "_terrene" "c" "46" "_lo" "_terrene")
(Befehl "_-layer" "_m" "_water" "c" "140" "_lo" "_water"")
(Befehl "_-layer" "_m" "_texte" "c" "2" "_lo" "_texte"")
(Befehl "_-layer" "_m" "_simboli" "c" "1" "_lo" "_simboli"")
(Befehl "_-layer" "_m" "_retini" "c" "5" "_lo" "_retini"")
(Befehl "_-layer" "_set" "0"")

; Transfer alter Schichten auf neue
(setq sel (ssget "x"((8. "2e5,2h8"))))))
(Befehl "_change" sel "_pr" "_la" "_main streets"")

(setq sel (ssget "x"(8). "2l12,3a1,2j10,2f6,2k11")))
(Befehl "_change" sel "_pr" "_la" "_strade secondarie"")

(setq sel (ssget "x"(8). 1b2,8j10,1d4,1a1,1i9,2m13,1und5,1ab28,1g7,5l12")))))
(Befehl "_change" sel "_pr" "_la" "_fabbricati"")

(setq sel (ssget "x"(8 ."5a1,3b2.5c3.6h8h8,22h8a,4e5j10,5i9,21i9")))))
(Befehl "_change" sel "_pr" "_la" "_terrene")

(setq sel (ssget "x"((8. "4b2,4d4,4a1")))))
(Befehl "_change" sel "_pr" "_la" "_acqua"")

(setq sel (ssget "x"(8 ."14g7,14p16,14o15,14r18,14f6,14d4")))
(Befehl "_change" sel "_pr" "_la" "_texts"")

(setq sel (ssget "x"(8. "17e5,1l12,1k11")))))
(Befehl "_change" sel "_pr" "_la" "_simboli"")

(falls (tblsearch "layer" 17a1")
(setq sel (ssget "x"(8). "17a1,17b2,17g7,17ab28,17e5b,17i9"))))
(Befehl "_change" sel "_pr" "_la" "_retini"")
)

; wählen Sie alle Design und eliminieren Auswahl
(setq sel (ssget "x")
(Befehl "_erase" "p"")

; purge Zeichnung
(Befehl "-purge" "_all" "*" "n")

; Entriegeln der zuvor blockierten Schichten
(Befehl "-layer" "_unlock" "*")
 
(falls (tblsearch "layer" 17a1")
(Progn)
(setq sel (ssget "x"(8). "17a1,17b2,17g7,17ab28,17e5b,17i9"))))
(Befehl "_change" sel "_pr" "_la" "_retini"")
)
)

; wählen Sie alle Design und eliminieren Auswahl
(setq sel (ssget "x")
(Befehl "_erase") "p" (Befehl "_erase" sel ")
 
Hi, es tut mir immer noch leid, dass das Drehbuch perfekt funktioniert, also bieten meine Kollegen mir morgen Kaffee an. Er...
Für meinen persönlichen Vorteil möchte ich jedoch eine grafische Schnittstelle zu diesem Skript erstellen, eine Art gui, in der ich nach dem Öffnen auswählen kann, welche Schichten im Skript enthalten sind und welche Farbe jeder Schicht zugeordnet werden soll.
Ich habe etwas im Netz gesehen, aber ich verstehe nicht viel, haben Sie irgendwelche Indikationen oder Links, die gut genug sind, um inspiriert zu werden?
Danke!
 

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