Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Objekte innerhalb einer Polylinie

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Objekte innerhalb einer Polylinie (2066 mal gelesen)
marvin101010
Mitglied
ingenieur der architektur ohne diplom, bauzeichner ohne lehre, cad-admin ohne wissen :-)


Sehen Sie sich das Profil von marvin101010 an!   Senden Sie eine Private Message an marvin101010  Schreiben Sie einen Gästebucheintrag für marvin101010

Beiträge: 562
Registriert: 22.01.2003

Pentium 4
Windows XP
Autocad 2002
Autocad 2002LT + Extender
ADT 3.3
ArchiCAD

erstellt am: 04. Feb. 2003 13:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hallo allerseits...

eine frage....

ist es möglich z.B. über (ssget...
alle objekte zu erfassen, die sich innerhalb
einer polylinie befinden???
wenn ja...whow...wäre eine echte erleichterung

schönen ta noch ;-)

------------------
alle wege führen nach rom, bis auf den mittleren!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Moderator
CAD on demand GmbH




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 04. Feb. 2003 13:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für marvin101010 10 Unities + Antwort hilfreich

Hi Marvin,

klar ist das möglich,
in der Hilfe zu ssget steht folgendes:

Zitat:

Creates a selection set from the selected object
(ssget [sel-method] [pt1 [pt2]] [pt-list] [filter-list])

Selection sets can contain objects from both paper and model space, but when the selection set is used in an operation, ssget filters out objects from the space not currently in effect. Selection sets returned by ssget contain main entities only (no attributes or polyline vertices).

Arguments

sel-method

A string that specifies the object selection method. Valid selection methods are:
C  Crossing selection.
CP  Cpolygon selection (all objects crossing and inside of the specified polygon).
F  Fence selection.
I  Implied selection (objects selected while PICKFIRST is in effect).
L  Last visible object added to the database.
P  Last selection set created.
W  Window selection.
WP  WPolygon (all objects within the specified polygon).

X  Entire database. If you specify the X selection method and do not provide a filter-list, ssget selects all entities in the database, including entities on layers that are off, frozen, and out of the visible screen.
:E  Everything within the cursor's object selection pickbox.
:N  Call ssnamex for additional information on container blocks and transformation matrices for any entities selected during the ssget operation. This additional information is available only for entities selected via graphical selection methods such as Window, Crossing, and point picks.

Unlike the other object selection methods, :N may return multiple entities with the same entity name in the selection set. For example, if the user selects a subentity of a complex entity such as a BlockReference, PolygonMesh, or old style polyline, ssget looks at the subentity that is selected when determining if it has already been selected. However,  ssget actually adds the main entity (BlockReference, PolygonMesh, etc.) to the selection set. The result could be multiple entries with the same entity name in the selection set (each will have different subentity information for ssnamex to report).

:S  Allow single selection only.

pt1

A point relative to the selection.

pt2

A point relative to the selection.

pt-list

A list of points.

filter-list

An association list that specifies object properties. Objects that match the filter-list are added to the selection set.

If you omit all arguments, ssget prompts the user with the Select objects prompt, allowing interactive construction of a selection set.
If you supply a point but do not specify an object selection method, AutoCAD assumes the user is selecting an object by picking a single point.


In Deinem Fall sollte _WP die passende Option sein.
Stütpunkte der Polylinie auslesen und an die ssget-Funktion übergeben - fertig!

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
CADlon - Lisp over night!
Wieder 2 neue Tool's im FreeDownload
Wissen wie es gemacht wird? Jetzt Quellcode für die Hälfte

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

marvin101010
Mitglied
ingenieur der architektur ohne diplom, bauzeichner ohne lehre, cad-admin ohne wissen :-)


Sehen Sie sich das Profil von marvin101010 an!   Senden Sie eine Private Message an marvin101010  Schreiben Sie einen Gästebucheintrag für marvin101010

Beiträge: 562
Registriert: 22.01.2003

Pentium 4
Windows XP
Autocad 2002
Autocad 2002LT + Extender
ADT 3.3
ArchiCAD

erstellt am: 04. Feb. 2003 13:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hmmmm.......

asche auf mein haupt...
sollte wohl doch öfters mal in die
vlisp-hilfe schaun ;-)

danke danke danke...

------------------
alle wege führen nach rom, bis auf den mittleren!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

marvin101010
Mitglied
ingenieur der architektur ohne diplom, bauzeichner ohne lehre, cad-admin ohne wissen :-)


Sehen Sie sich das Profil von marvin101010 an!   Senden Sie eine Private Message an marvin101010  Schreiben Sie einen Gästebucheintrag für marvin101010

Beiträge: 562
Registriert: 22.01.2003

Pentium 4
Windows XP
Autocad 2002
Autocad 2002LT + Extender
ADT 3.3
ArchiCAD

erstellt am: 04. Feb. 2003 17:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

ähhhh...ich noch mal...

is mir ja jetzt peinlich aber ich bin halt doch noch
ein lisp-greenhorn...sorry
wie lese ich die punkte eigentlich aus?
kann sie über entget zwar alle sehn, haben aber alle
den gc 10 ....ich komm immer nur an den ersten ran :-(

wahrscheinlich totaaaaal einfach, aber.....

------------------
alle wege führen nach rom, bis auf den mittleren!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

m-troeger
Mitglied
gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS


Sehen Sie sich das Profil von m-troeger an!   Senden Sie eine Private Message an m-troeger  Schreiben Sie einen Gästebucheintrag für m-troeger

Beiträge: 295
Registriert: ..

ACAD14 und 2005;
MAP4; GeoCAD; PARIS;
( Vermessung )

erstellt am: 04. Feb. 2003 17:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für marvin101010 10 Unities + Antwort hilfreich

Hi,

mit ... entget "Objekt"  erhältzt du den 1. Gruppencode 10
mit ... entget( entnext "Objekt"  den nächsten usw.

Nutz die Suchfunktion des Forums
hier liegen auch irgendwo fertige Codes

Servus Mario http://home.chemonline.de/m-troeger

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



Sehen Sie sich das Profil von marc.scherer an!   Senden Sie eine Private Message an marc.scherer  Schreiben Sie einen Gästebucheintrag für marc.scherer

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 04. Feb. 2003 18:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für marvin101010 10 Unities + Antwort hilfreich

Hi,
versuch dies:
Code:

(defun GET-PL-POINTS (ENAME / EDATA PTLISTE X)
  (if (= (cdr (assoc 0 (entget ENAME))) "LWPOLYLINE")
    (setq EDATA  (entget ENAME)
          PTLISTE (apply
                    'append
                    (mapcar
                      '(lambda (X)
                        (if (= 10 (car X))
                          (list (cdr X))
                        ) ;_ end of if
                      ) ;_ end of lambda
                      EDATA
                    ) ;_ end of mapcar
                  ) ;_ end of apply
    ) ;_ end of setq
    (setq PTLISTE (GET-HW-PL-POINTS ENAME))
  ) ;_ end of if
) ;_ end of defun


(defun GET-HW-PL-POINTS (ENAME / EDATA PTLISTE)
  (while (= (cdr (assoc 0 (setq EDATA (entget (entnext ENAME)))))
            "VERTEX"
        ) ;_ end of =
    (setq PTLISTE (cons (cdr (assoc 10 EDATA)) PTLISTE)
          ENAME  (entnext ENAME)
    ) ;_ end of setq
  ) ;_ end of while
  (reverse PTLISTE)
) ;_ end of defun


Beispielaufruf der SubRoutine:
(setq xx (GET-PL-POINTS (car (entsel))))

Wobei Du hier natürlich 'ne Polylinie oder LWPolylinie wählen solltest.
Die Sub's überprüfen nicht auf Richtigkeit des Element-Typs.
Rückgabewert ist eine Liste mit den Kontrollpunkten der Polylinie,
z.B: ((0.0 0.0) (1.0 0.0) (1.0 1.0) (0.0 1.0))

------------------
Ciao,
Marc

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

mapcar
Mitglied
CADmin



Sehen Sie sich das Profil von mapcar an!   Senden Sie eine Private Message an mapcar  Schreiben Sie einen Gästebucheintrag für mapcar

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 04. Feb. 2003 21:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für marvin101010 10 Unities + Antwort hilfreich

Zwei Anmerkungen:

1. ssget berücksichtigt da allerdings nichts, was innerhalb der bulges der Polylinie liegt. Ist es z.B. eine kreisförmige PL aus zwei Halbkreisen, kriegt man mit ssget *gar-nix*.

2. Die 10er auslesen:

(vl-remove-if-not(function(lambda(pair)(=(car pair)10)))(entget ...))

Gruss, Axel

------------------
http://www.tutorial.autolisp.info

http://www.advanced.autolisp.info


http://www.activex.autolisp.info

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



Sehen Sie sich das Profil von marc.scherer an!   Senden Sie eine Private Message an marc.scherer  Schreiben Sie einen Gästebucheintrag für marc.scherer

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 05. Feb. 2003 09:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für marvin101010 10 Unities + Antwort hilfreich

Hi,
@Axel: Wieso fühle ich mich nach 'ner Mail von Dir immer so, als wenn ich in der Formel 1 den Jaguar fahre und Du den Ferrari? 
Hast mich mal wieder deklassiert ;-).
Deine Funktion: (vl-remove-if-not(function(lambda(pair)(=(car pair)10)))(entget ...)) geht aber nicht mit alten Polylinien, nur mit LWPolylines.

------------------
Ciao,
Marc

[Diese Nachricht wurde von marc.scherer am 05. Februar 2003 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

marvin101010
Mitglied
ingenieur der architektur ohne diplom, bauzeichner ohne lehre, cad-admin ohne wissen :-)


Sehen Sie sich das Profil von marvin101010 an!   Senden Sie eine Private Message an marvin101010  Schreiben Sie einen Gästebucheintrag für marvin101010

Beiträge: 562
Registriert: 22.01.2003

Pentium 4
Windows XP
Autocad 2002
Autocad 2002LT + Extender
ADT 3.3
ArchiCAD

erstellt am: 05. Feb. 2003 12:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

@marc.....frag mich mal wie ich mich bei euch fühle...
          ich stehe irgendwo kurz vor der erfindung des
          ottomotors ;-((
@axel.....tja, was soll ich sagen...ich schwanke zwischen
          endloser dankbarkeit und totaler frustration...
          machs ja auch erst seit zwei wochen ;-)

dank an alle...meine drei sterne sind mir richtig peinlich

------------------
alle wege führen nach rom, bis auf den mittleren!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

mapcar
Mitglied
CADmin



Sehen Sie sich das Profil von mapcar an!   Senden Sie eine Private Message an mapcar  Schreiben Sie einen Gästebucheintrag für mapcar

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 05. Feb. 2003 13:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für marvin101010 10 Unities + Antwort hilfreich

Vorab erstmal: Der Vergleich schmeckt mir ja nicht so richtig, da ich für Motorsport eigentlich nur eine gewisse Verachtung übrig habe - ein Relikt aus der ersten Hälfte des vorigen Jahrhunderts. Inzwischen sollte die Menschheit doch eigentlich soweit sein, sich an Vorbildern zu orientieren, die das Ding mit den begrenzten Ressourcen auf dieser wunderbaren blauen Kugel im All wenigstens im Ansatz begriffen haben.

Aber lassen wir das, ich verwende die Terminologie trotzdem weiter und setze mal einen Schuss ins Blaue (wo ich doch auch noch in die Strategenklasse aufgestiegen bin): Nur wer "Abelson/Sussman/Sussman: Struktur und Interpretation von Computerprogrammen" gelesen hat, kriegt von den Göttern der Listen und Paare einen Ferrari zur Verfügung gestellt. Echt, ich lüge nicht!

Und dann gibt's noch einen Unterschied zum Motorsport: Hier sollen doch alle gewinnen und auf's Siegertreppchen. Nur wer Funktionen mit mehr als 3 setqs veröffentlicht, der gehört ins Gefängnis;-) Also, Marvin, nicht frustriert sein. Es gilt das Motto der Sesamstrasse - 'Wer nicht fragt, bleibt dumm'. Aber du fragst ja, also alles im grünen Bereich. In ein paar Monaten sieht das alles ganz anders aus!

Gruss, Axel 

------------------
http://www.tutorial.autolisp.info

http://www.advanced.autolisp.info


http://www.activex.autolisp.info

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



Sehen Sie sich das Profil von marc.scherer an!   Senden Sie eine Private Message an marc.scherer  Schreiben Sie einen Gästebucheintrag für marc.scherer

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 05. Feb. 2003 13:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für marvin101010 10 Unities + Antwort hilfreich

@Axel: "Vorab erstmal: Der Vergleich schmeckt mir ja nicht so richtig, da ich für Motorsport eigentlich nur eine gewisse Verachtung übrig habe - ein Relikt aus der ersten Hälfte des vorigen Jahrhunderts. Inzwischen sollte die Menschheit doch eigentlich soweit sein, sich an Vorbildern zu orientieren, die das Ding mit den begrenzten Ressourcen auf dieser wunderbaren blauen Kugel im All wenigstens im Ansatz begriffen haben."

Siehst Du, genau das meine ich, schon wieder so 'ne Mail. Hab' wieder was falsches gesagt... Zukünftig werde ich Schweigen wenn der Meister spricht:

------------------
Ciao,
Marc

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



Sehen Sie sich das Profil von marc.scherer an!   Senden Sie eine Private Message an marc.scherer  Schreiben Sie einen Gästebucheintrag für marc.scherer

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 06. Feb. 2003 10:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für marvin101010 10 Unities + Antwort hilfreich

Hi,
Funktionsupdate mit Implementierung der G'schichte von Axel:
Code:

(defun GET-PL-POINTS (ENAME /)
  (if (= (cdr (assoc 0 (entget ENAME))) "LWPOLYLINE")
    (GET-LW-PL-POINTS ENAME)
    (GET-HW-PL-POINTS ENAME)
  ) ;_ end of if
) ;_ end of defun

(defun GET-HW-PL-POINTS (ENAME / EDATA PTLISTE)
  (while (= (cdr (assoc 0 (setq EDATA (entget (entnext ENAME)))))
            "VERTEX"
         ) ;_ end of =
    (setq PTLISTE (cons (cdr (assoc 10 EDATA)) PTLISTE)
          ENAME   (entnext ENAME)
    ) ;_ end of setq
  ) ;_ end of while
  (reverse PTLISTE)
) ;_ end of defun

(defun GET-LW-PL-POINTS (ENAME / EDATA PTLISTE)
  (setq EDATA (vl-remove-if-not
                (function (lambda (PAIR) (= (car PAIR) 10)))
                (entget ENAME)
              ) ;_ end vl-remove-if-not
  ) ;_ end setq
  (foreach ELEM EDATA
    (setq PTLISTE (cons (vl-remove 10 ELEM) PTLISTE))
  ) ;_ end foreach
  (reverse PTLISTE)
) ;_ end defun



------------------
Ciao,
Marc

   

[Diese Nachricht wurde von marc.scherer am 06. Februar 2003 editiert.]

[Diese Nachricht wurde von marc.scherer am 06. Februar 2003 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

mapcar
Mitglied
CADmin



Sehen Sie sich das Profil von mapcar an!   Senden Sie eine Private Message an mapcar  Schreiben Sie einen Gästebucheintrag für mapcar

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 06. Feb. 2003 15:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für marvin101010 10 Unities + Antwort hilfreich

Marc,

auch wenn ich zu deinem Alptraum werde: Hab schon wieder was zu meckern. Hauptsächlich über mich selbst - ich hatte nämlich was vergessen. Da gehört einfach noch ein (mapcar'cdr...) drum, um den GC10 rauszukriegen.

(defun get-lw-pl-points(ename / )
  (mapcar'cdr
    (vl-remove-if-not
      (function
        (lambda(pair)(=(car pair)10))
      )
      (entget ename)
    )
  )
)

Dass heisst nicht, dass deine Variante nicht genauso funktioniert, aber das hier ist flotter, da es ohne setq auskommt. Auch wenn setq die Lieblingsfunktion aller AutoLisp-Programmierer zu sein scheint - es ist nur ein Notnagel, wenn es anders nicht geht. Jedes setq bedeutet, dass erstmal die gesamte Symboltabelle im aktuellen Kontext durchsucht wird, ob das Symbol schon vorhanden ist. Dann werden nach oben alle umgebenden Environments durchsucht, bis schliesslich feststeht, dass nicht mal ein globales Symbol mit dem Namen existiert. Erst dann wird ein Symbol erzeugt und gebunden.

Eine grosse Gefahr besteht übrigens in deiner Variante durch die Verwendung von (vl-remove 10 ...). Das prüft zwar mit equal, d.h. 10 /= 10.0, aber wenn in so was mal ein Benutzerinput reinrutscht (ein Punkt für entmake z.B. '(<b>10</b> 100 <b>10</b> 0)), bei dem Koordinaten als INTs vorliegen, dann bläst dir das die 10 auch mehrmals raus. Da ist cdr sicherer, denn die GCs kommen immer als erstes in der Liste. 

So, und jetzt schweige *ich*;-)

Gruss, Axel

------------------
http://www.tutorial.autolisp.info

http://www.advanced.autolisp.info


http://www.activex.autolisp.info

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



Sehen Sie sich das Profil von marc.scherer an!   Senden Sie eine Private Message an marc.scherer  Schreiben Sie einen Gästebucheintrag für marc.scherer

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 06. Feb. 2003 15:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für marvin101010 10 Unities + Antwort hilfreich

Danke.

------------------
Ciao,
Marc

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz