Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Objekt selektieren

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:  Objekt selektieren (1326 mal gelesen)
Lispelmann
Mitglied



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

Beiträge: 14
Registriert: 19.02.2008

erstellt am: 17. Jul. 2008 20:09    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 Leute,

in Sachen AutoCAD-Objekte bin ich nicht so fit und habe immer wieder Probleme. Ich werde Euch mein aktuelles Problem vortragen:

In einer Lisp-Routine lasse ich eine Linie oder einen Bogen oder einen Kreis zeichnen. Sobald das grafische Element gezeichnet wurde, wird eine Zahl, wie z.B. 2 oder 4 oder 8 eingetragen. Um weitere Variablenwerte zu ermitteln, muss ich eine dieser Zahlen mit der Maus anklicken. Wenn ich aber aus Unachtsamkeit neben die Zahl klicke, z. B. ins Leere oder auf ein grafisches Element, dann stürzt mein Programm ab.

Wie kann der Lisp-Code einer Schleife aussehen, damit die Routine nur beim Anklicken einer Zahl weiterarbeitet, und beim Anklicken ins Leere oder eines grafischen Elementes die Aufforderung erscheint, eine Zahl anzuklicken??

Ich bin überzeugt, dass für viele von Euch dieses Problem eine Kleinigkeit ist. Eure Hilfe schätze ich sehr hoch.

Danke im Voraus.

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

wronzky
Ehrenmitglied V.I.P. h.c.
CAD-Dienstleistungen für Architekten



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

Beiträge: 2154
Registriert: 02.05.2005

CAD:
AutoCAD 2.6 bis 2014
ADT 2005 - 2014
Arcibem
System:
Windows 2000, XP, NO VISTA
Internet-Startseite:
http://www.archi.de

erstellt am: 17. Jul. 2008 21: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 Lispelmann 10 Unities + Antwort hilfreich

Hi,
ich würde es mit einer Subroutine machen in der Art:
Code:
(defun sel-num ( / ss num)
  (prompt "\nWählen Sie eine Zahl")
  (while (not
  (and
    (setq ss (ssget "_:S" '((0 . "TEXT") (1 . "#,##,###,####"))))
    (setq num (atoi (cdr (assoc 1 (entget (ssname ss 0))))))
  )
)
    (prompt "\nWählen Sie bitte eine Zahl")
  )
  num
)
und an geeigneter Stelle dann (setq num (sel-num))

Grüsse, Henning

------------------
Henning Jesse
VoxelManufaktur
Computer-Dienstleistungen für Architekten und Ingenieure

  http://www.voxelman.de

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 17. Jul. 2008 22:09    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 Lispelmann 10 Unities + Antwort hilfreich

Hi,

genau. Und das geht auch mit (entsel).
Interessant in dem Zusammenhang: (while) funktioniert auch ohne den dann-Teil, weil der optional ist. Die Testfunktion genügt.
Es könnte also auch so aussehen. Diesmal mit (entsel):

Code:
(while
  (or
    (not (setq ent (entsel "\nZahl wählen:")))
    (/= "TEXT" (cdr (assoc 0 (entget (car ent)))))
    (not (wcmatch (cdr (assoc 1 (entget (car ent)))) "#,##")
    )
  )
)

Gruß
CADchup

------------------
CADmaro.de

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

wronzky
Ehrenmitglied V.I.P. h.c.
CAD-Dienstleistungen für Architekten



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

Beiträge: 2154
Registriert: 02.05.2005

CAD:
AutoCAD 2.6 bis 2014
ADT 2005 - 2014
Arcibem
System:
Windows 2000, XP, NO VISTA
Internet-Startseite:
http://www.archi.de

erstellt am: 17. Jul. 2008 22:28    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 Lispelmann 10 Unities + Antwort hilfreich

Hi,
@cadchup: ...nicht ganz, da or nur t oder nil zurück gibt, würde Deine Funktion nur bestätigen, dass eine Zahl gewählt wurde 
deshalb:
Code:
...(not (wcmatch (setq num (cdr (assoc 1 (entget (car ent))))) "#,##")...

und am Ende dann (atoi num) als Rückgabe.

Grüsse, Henning

------------------
Henning Jesse
VoxelManufaktur
Computer-Dienstleistungen für Architekten und Ingenieure

  http://www.voxelman.de

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 17. Jul. 2008 22: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 Lispelmann 10 Unities + Antwort hilfreich

Jaaa, aber der Lispelmann wollte doch bestimmt auch noch die eine oder andere Kleinigkeit selbst machen...


Gruß
CADchup

------------------
CADmaro.de

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

wronzky
Ehrenmitglied V.I.P. h.c.
CAD-Dienstleistungen für Architekten



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

Beiträge: 2154
Registriert: 02.05.2005

CAD:
AutoCAD 2.6 bis 2014
ADT 2005 - 2014
Arcibem
System:
Windows 2000, XP, NO VISTA
Internet-Startseite:
http://www.archi.de

erstellt am: 17. Jul. 2008 23:03    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 Lispelmann 10 Unities + Antwort hilfreich

@cadchup:
Dann eben was anderes:
Zitat:
interessant in dem Zusammenhang: (while) funktioniert auch ohne den dann-Teil, weil der optional ist. Die Testfunktion genügt.
Interessant in diesem Zusammenhang: dass while einen dann-Teil hat wußte ich noch gar nicht...

Grüsse, Henning

------------------
Henning Jesse
VoxelManufaktur
Computer-Dienstleistungen für Architekten und Ingenieure

  http://www.voxelman.de

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 18. Jul. 2008 09:28    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 Lispelmann 10 Unities + Antwort hilfreich

Zitat:

Interessant in diesem Zusammenhang: dass while einen dann-Teil hat wußte ich noch gar nicht...

Da kannste mal sehen. Man lernt nie aus.   

------------------
CADmaro.de

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

Lispelmann
Mitglied



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

Beiträge: 14
Registriert: 19.02.2008

erstellt am: 18. Jul. 2008 22:22    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

Der Umgang mit AutoCAD- Objekten ist nicht immer einfach. Ihr habt mich gerettet und die Lösung gut aufgezeichnet.

Ich danke Euch
Lispelmann

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