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

Koordinierte Linien Extraktion

som

Guest
bye to all,

ich bin sehr unerfahren mit autocad und ich versuche diese tage mit der programmierung mit skripten und lisp.

meine schwierigkeit besteht darin, aus einem dwg einen variablen bereich zu extrahieren, der durch einige linien begrenzt wird, die in einer bestimmten schicht liegen.

wie kann ich nach der auswahl der objekte meines interesses ihre koordinaten auswerten, um das fenster für mich nützlich zu bestimmen?



_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
|
|
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

ich möchte die koordinaten der 4 linien wie oben platziert haben.

für jetzt kann ich wählen:p

danke.
 
skripte und lisp werden für autocad eingegeben, nicht ausgegeben. wenn das nicht so ist, wie mich jemand vergisst.

ich würde einen dxf. exportieren, da der header von x und y immer gleich ist, für jede einheit sollte es einfach sein, alle x, alle y zu extrahieren, das minimum und maximum zu finden, und diese vier werte sind die koordinaten der vertiken eines rechtecks, das alle design umgibt.

das ist wahr, außer den bögen, also sollten sie gefiltert werden... aber es ist ein nächster schritt.
 
der code findet die tops (links unten und oben rechts) des maximalen fensters, das die objekte enthält, falls ich hatte Solo zeilen oder ihr fall:
HTML:
 (satz auf 0)
(setq cont 0) ;azzera il contatore
(setq b (ssget)
(repeat (sslength b) ;ripete per il numero degli elementi selezionati
(Setq c (Name b cont))
(setq p1 (cdr (assoc 10))
(setq p2 (cdr)

(if (= a 0)
(Progn)
(setq xmin)
(setq xmax)
(setq ymin)
(setq ymax (cadr p1)

(setq xmin (min xmin (car p2))
(setq xmax (max xmax (car p2))
(setq ymin (min ymin (cadr p2))
(setq ymax (max ymax (cadr p2))
)
)

(setq xmin (min xmin (car p1))
(setq xmax (max xmax (car p1))
(setq ymin (min ymin (cadr p1))
(setq ymax (max ymax (cadr p1))

(setq xmin (min xmin (car p2))
(setq xmax (max xmax (car p2))
(setq ymin (min ymin (cadr p2))
(setq ymax (max ymax (cadr p2))

(sollte auf nil)
(setq cont (1+ cont))

)

(setq p3 (list xmin ymin) ;punto inferiore sinistro
(setq p4 (list xmax ymax) ;punto superiore destro
 
dank beiden für die hilfe.

@fulvio:
ich würde lieber direkt am dwg arbeiten.

@gp:
die schicht, die den zu verwendenden inhalt angeben muss, hat nur linien. also sollte der code, den sie veröffentlicht haben, zu meinem fall... jetzt verifikation ich.

danke noch mal.
 
auswahl von einrichtungen
(setq zuhörer)

name entität n° 1
(setq n) (namenszuhörung) 0)

name entität n° 2
(setq n (namenszuhörung 1))

usw.

auflistung
(setq ent)

erste koordinierung
(setq pt1 (cdr 10 ent))

abschließende koordinierung
(setq pt2 (cdr 11 ent))

gute arbeit
 
. .
(Setq c (Name b cont))
(setq p1 (cdr) (assoc 10 (entget c)))
(setq p2 (cdr) (assoc 11 (entget c)))
(wenn (= bis 0)
. .
ich schrieb in eile:redface:, aber es wurde sowieso verstanden. .

...
(setq c (name b cont))
(setq p1 (cdr 10 (entget c))));Seelengelale line
(setq p2 (cdr) (assoc 11 (entget c))); f)online kaufen
(wenn (= bis 0)
...
 

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