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

Objekteigenschaften

Maxweb

Guest
Guten Morgen, ich bin bei den ersten Waffen der Lisp-Programmierung und zu beginnen, ich lese "mein Lisp".

Letzte Nacht Ich versuchte vergeblich, die Eigenschaften eines Objekts wiederherzustellen, aber wahrscheinlich falsch etwas in der Syntax, die Befehle, die ich versuche, Sopo zu verwenden geladen (vl-load-com) sind
vlax-dump-objekt oder vlax-get-property (wirklich bin ich nicht sehr klar über den Unterschied zwischen den beiden).

Das möchte ich gerne tun:
1- Starten Sie den Befehl
2- Wählen Sie ein Objekt
3- Ich lese die Eigenschaften und schreibe sie auf einer Variablen

der nächste Schritt, zu dem ich nach und nach kommen möchte, ist:

4- I extrahieren einige dieser Eigenschaften und konvertieren sie in String
5- Ich erstelle einen Regisseur und "Ausschnitt" den extrahierten Styre

Ich bitte Sie nicht, mir das Programm zu schreiben, sondern eine Hilfe für Punkte 1-2-3.

Danke im Voraus.

Sag hallo.

Höchstmenge
 
Ich bin ein wenig schwach auf vl-Befehle
aber eine einfache String (setq Entitätenta (entget (car (entsel)))))) legt alle Eigenschaften der ausgewählten Entität in die var entita.
dann können Sie abholen, was Sie wollen durch (assoc)
z.B. (setq lay (car (assoc '8 Entitäten))))) sollte die Schicht zurückgeben, wenn ich mich gut an den Gruppencode erinnere
(setq col (car (assoc '62 Entitäten))))) sollte die Farbe zurückgeben (immer wenn ich mich richtig erinnere, der Code dxf
 
hallo maxweb, hallo zu allen
Ich programmiere auch die Lisp auf die alte Weise und ich habe keine Dimmität mit den Befehlen -vl, auch wenn sie viel kompakter sind.
Ich sah unter meinen Programmen, um eine einfache zu finden, wo Sie die Extraktion Befehle der Entitäten sehen.
das einfachste, was ich gefunden habe, ist dies (Bearbeiten von c.a. tondini. die suchen)
- filtert grundsätzlich eine Auswahl, indem sie nur die Kreise erholt.
- Eins nach dem anderen.
- nehmen Sie die Einheiten (Name und Radius)
- ersetzt den neuen Radius
- regeneriert das Unternehmen
- (while (=11)) ist ein unendlicher Zyklus, aus dem er nur mit exc herauskommt, dient dazu, das Programm wiederholt auf vielen Fähren anzuwenden
Ich bin sicher, dass Sie alle Ideen für das finden, was Sie tun wollen
Aufmerksamkeit: Ich benutze nicht die defunct Funktion: daher müssen Sie das Programm starten ( laden "tondo.lsp)
Hi.

;modification tondo.lsp for acad 2014 25-04-2014

(falls dfe nil (setq dfe 16)); Durchmesser zuzuweisen
(wenn fsc nil (setq fsc 1))
(setq sc (getvar "dimscale"); Zeichenskala
a (strcat "\ndiametro modifica ferri mm <" (rtos dfe) ">: "
dfe1 (getreal a)
a (strcat "\nfactor of scale <" (rtos fsc) ">: "
fsc1 (getreal a)
)
(while) (= 1 1 1);while2
(setq p1 (getpoint "\nimmetti Punkt 1 Auswahl) ; erste Auswahlstelle
p2 (getcorner p1 "\nimmetti Punkt 2 Auswahl"); zweiter Auswahlpunkt
ss1 (ssget "_c" p1 p2 ' ((0. "circle"))); wählen Sie alle Einheiten aus
Zählen 0 ;azzera Meter von Einheiten
emax (sslength ss1)
)
(falls (/= dfe1 nil) (setq dfe))
(falls (/= fsc1 nil) (setq fsc fsc1))
(setq rag (* dfe fsc 0,05); ist der Radius in cm Eisen
; extrahiert Daten in Eisenblöcken
(Während (< Count emax) ; Zyklus für jedes Institut
(setq en (Name ss1 count) ;prileva entita
und (entget en)
(cdr (assoc 0 ed)
vrag (cdr (assoc 40 ed)
(cons 40 rag) (cons 40 vrag) ed)
)
(entmod ed1)
(setq zählt (1+ zählt)
in Erwägung nachstehender Gründe:
;

(princ)
 

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