Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Transparente Punkte in while Schleife

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:  Transparente Punkte in while Schleife (1472 mal gelesen)
MARTINLE
Mitglied
Tischler


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

Beiträge: 485
Registriert: 18.10.2007

AUTOCAD 2016,
MS Windows7, 64-bit

erstellt am: 19. Nov. 2013 05:54    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

(defun c:2PC (/ p1 p2 p3 wp1 wp2 wp3)
  (while
    (setq p1 (getpoint "Punkt1"))
    (setq p2 (getpoint "Punkt2"))
    (setq wp1 (trans p1 1 0))
    (setq wp2 (trans p2 1 0))
    (command "_ucs" "3p" p1 p2 "")
    (command "bemlinear" (trans wp1 0 1) (trans wp2 0 1) pause)
    (command "Bemweiter" Pause)
    (while (/= (getvar "CMDACTIVE") 0) (command pause))
    (command "._ucs" "vo")
  )
)


Hallo,

Obiges Lisp funktioniert soweit.
Nur wenn ich bei p2 einen transparenten Objektfang (lotrecht) oder einen Punkt mit der Objektfangspur geben will wird
dieser Punkt irgendwo nur nicht wo er sein soll fixiert.
Woran kann das liegen?
Bitte um eure Hilfe.
Danke!

lg. Martin

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 19. Nov. 2013 08:04    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 MARTINLE 10 Unities + Antwort hilfreich

Meinst du mit der Aussage
a) Der Objektfang arbeitet nicht wie geünscht (Autosnap Markierung wird schon "falsch" angezeigt)
oder
b) der jeweilige Bemaßungspunkt wird nicht an den vorher durch die AutosnapMarkierung gezeigten Punkt erstellt.

Ich denke ja du meinst Fall a) und da würde ich dich bitten doch mal ohne deine Zeilen zu testen, einfach per Hand mit _dimlinear und _dimcontinue in der Befehlszeile..
Weicht das Veralten wirklich voneinander ab ?
Während des _dimcontinue verhält sich der OFang LOT nämlich immer etwas merkwürdig,
die Funktion der Objektfangspur ist meines Wissen aber problemlos, das müßte man
anhand von DWGbeispiel und Beschreibung + Screenshots mal näher beschreiben.

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

MARTINLE
Mitglied
Tischler


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

Beiträge: 485
Registriert: 18.10.2007

AUTOCAD 2016,
MS Windows7, 64-bit

erstellt am: 19. Nov. 2013 08: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

Hallo Cadffm,

Entschuldige bitte wenn ich erst jetz antworte.
Bin nicht immer am Schreibtisch.

Es funktionieren diverse Bemaßungsbefehle in Kombi mit Transparenten Befehlen und Objektfangspur einwandfrei.
Das Problem ist nur in dieser while Schleife. Wenn das Lisp den zweiten Punkt abfragt möchte ich wahlweise einen
Punkt picken, einen Punkt mit Objektfangspur picken oder eben mit dem Objektfang Lot angeben.
Wenn ich den zweiten Punkt "normal" picke funktioniert alles wunderbar.Mit den anderen Optionen aber leicher nicht. Da fängt es mir
Punkte irgendwo.
Es könnte aber auch mit dem umrechnen (trans) ins WKS sein.
Woran kann das liegen?

lg. Martin

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 19. Nov. 2013 08:37    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 MARTINLE 10 Unities + Antwort hilfreich

Wenn hier nicht "handfeste" Beispiel kommen: Keine Ahnung 
(ich kann anhand deiner bisherigen Beschreibung das Problem nicht nachvollziehen)

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

MARTINLE
Mitglied
Tischler


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

Beiträge: 485
Registriert: 18.10.2007

AUTOCAD 2016,
MS Windows7, 64-bit

erstellt am: 19. Nov. 2013 08:39    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 Cadffm.
Probier mal das Lisp.
Dann wirst du es sehen.

lg. Martin

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 19. Nov. 2013 08: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 MARTINLE 10 Unities + Antwort hilfreich

Danke für die Unterstellung das ich es nicht getan habe,
bin raus.

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

MARTINLE
Mitglied
Tischler


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

Beiträge: 485
Registriert: 18.10.2007

AUTOCAD 2016,
MS Windows7, 64-bit

erstellt am: 19. Nov. 2013 08: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

Uuups!

Hab ich was falsches geschrieben?
Natürlich hast du es vorher schon probiert.
Entschuldige bitte. War nicht meine Absicht.
Danke trotzdem für deine Hilfe.

lg. Martin

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 19. Nov. 2013 10: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 MARTINLE 10 Unities + Antwort hilfreich

Hallo,

mit der Sytemvariable "OSMODE" kannst Du gezielt einstellen, wo der Fang hinspringen soll.

Z.B. so:

Am Anfang Deiner Datei:
(Setq O_M (Getvar "OSMODE"))
(setvar "OSMODE" 128) ; wenn Fang Lot gewünscht ist

Am Ende Deiner Datei:
(setvar "OSMODE" O_M)

Ich bin mir nicht sicher, ob mein Tipp, das ist was Du benötigt.

Du kannst ihn auch sonst verwenden.

Gruß
Theodor Schönwald

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

MARTINLE
Mitglied
Tischler


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

Beiträge: 485
Registriert: 18.10.2007

AUTOCAD 2016,
MS Windows7, 64-bit

erstellt am: 19. Nov. 2013 10: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


Hallo Theodor,

Danke für deine Hilfe.
Es scheint soweit zu funktionieren.

(defun c:2PC (/ p1 p2 p3 wp1 wp2 wp3 )
(while
(setq p1 (getpoint "Punkt1"))
(setvar "OSMODE" 128);;;;;;;;;;;;;;;Lot
(setq p2 (getpoint "Punkt2"))
(setq wp1 (trans p1 1 0))
(setq wp2 (trans p2 1 0))
(command "_ucs" "3p" p1 p2 "")
(command "bemlinear" (trans wp1 0 1) (trans wp2 0 1) pause )
(command "Bemweiter" Pause)
(while (/=(getvar "CMDACTIVE")0)(command pause))
(command "._ucs" "vo")
)
)

Wenn ich aber nur ab und zu diesen Objektfang brauche geht das leider nicht. Deshalb hab ich auch den transparenten Befehl
versucht. Leider ohne Erfolg.

lg. Martin

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 19. Nov. 2013 12:20    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 MARTINLE 10 Unities + Antwort hilfreich

Hallo Martin,

so sieht sieht Dein Code besser aus:
:: ---------------------------------------
(defun c:2PC (/ o_m p1 p2 p3 wp1 wp2 wp3 )

(setq o_m (getvar "OSMODE")); Voreinstellungen speichern
(while
(setq p1 (getpoint "Punkt1"))
(setvar "OSMODE" 128);;;;;;;;;;;;;;;Lot
(setq p2 (getpoint "Punkt2"))
(setq wp1 (trans p1 1 0))
(setq wp2 (trans p2 1 0))
(command "_ucs" "3p" p1 p2 "")
(command "bemlinear" (trans wp1 0 1) (trans wp2 0 1) pause )
(command "Bemweiter" Pause)
(while (/=(getvar "CMDACTIVE")0)(command pause))
(command "._ucs" "vo")
)
(setvar "OSMODE" o_m); Voreinstellungen zurück setzen
)
;;----------------------------
Welcher Wert für OSMODE? Ein Tipp:
Stelle die Fangfunktion(en) ein, die für Deine Anwendung passt.
Danach gibst Du den Befehl OSMODE in der Befehlszeile ein, der angezeigte Wert ist der Wert, den Du mit (setvar "OSMODE" Wert) setzen kannst.

Gruß
Theodor

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

MARTINLE
Mitglied
Tischler


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

Beiträge: 485
Registriert: 18.10.2007

AUTOCAD 2016,
MS Windows7, 64-bit

erstellt am: 19. Nov. 2013 12:57    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


Beispiel.dwg.txt

 
Hallo Theodor.
Danke für deine Hilfe. Das sichern der Einstellungen ist sehr gut.
Habe eine Beispielzeichnung angehängt.
Mein Ziel wäre mit diesem Lisp so zu bemaßen wie in der Zeichnung gezeigt.
1 Punkt normal mit Endpunkt etc. wählen.
Bei der Abfrage von Punkt 2 möchte ich Strg+RM Kontextmenü Lot auswählen und dann die Polylinie wie im Beispiel gezeigt wählen. Dann wäre schön wenn mir der Punkt P2 gefangen würde. Und zwar genau auf der senkrechten Linie die ich gerade bemaßen will. Danach möchte ich mit der weiterführenden Bemaßung wieder normal die Eck- oder Schnittpunkte usw. fangen.
Leider ist das nicht so.
Warum weiß ich leider nicht.
Warscheinlich funktioniert das Kontextmenü in der While Schleife nicht oder der Lotrechte Punkt wird falsch zurückgegeben. Jedenfalls liegt er nicht auf der senkrechten Linie.
(Im Beispiel habe ich den Bemaßungspunkt P2 nachträglich mit den Griffen auf den passenden Punkt verschoben.)

lg. Martin

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 19. Nov. 2013 14:23    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 MARTINLE 10 Unities + Antwort hilfreich

Hallo Martin,

beim Bemaßen schalte ich alle Fangfunktionen ab außer "Schnittpunkt" je nach dem ob Kreise oder Bögen in der Zeichnung sind schalte ich noch "Zentrum" dazu.

Wenn "Schnittpunkt" eingestellt ist, springt mir der Cursor nicht auf die Endpunkte der Bemaßungshilfslinien.

Die Fangfunktionen benutze ich über die mittlere Maustaste (mit Mbuttonpan), da bin ich schneller als im Menü herum fahren.

Die meisten denen ich über die Schulter schaue, haben immer sehr viele Fangfunktionen aktiv, ich arbeite so nicht.

Bei Deiner Zeichnung hätte ich "OSMODE" 160 eingestellt, das ist Schnittpunkt und Lot.

Gruß
Theodor

[Diese Nachricht wurde von Theodor Schoenwald am 19. Nov. 2013 editiert.]

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

MARTINLE
Mitglied
Tischler


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

Beiträge: 485
Registriert: 18.10.2007

AUTOCAD 2016,
MS Windows7, 64-bit

erstellt am: 19. Nov. 2013 14: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

Hallo Theodor,

Danke für deine Unterstützung.
Hab die Einstellung "Mbuttonpan" bis jetzt eigentlich nur zum schieben bzw. zoomen verwendet.
Werde mich mal damit auseinandersetzten was man alles auf das Rad backen kann.
Dann ist aber wohl das schieben und zoomen dahin oder?
Ich verwende das Kontextmenü sehr viel. Hab es mir einfach angewöhnt weil es doch sehr viele Optionen zur aktuellen  Auswahl bereithält.

lg. Martin

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

Geos
Mitglied
Vermessungstechniker i.R.


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

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 19. Nov. 2013 18:06    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 MARTINLE 10 Unities + Antwort hilfreich

Also bei mir funktioniert Dein Lisp - auch in Deiner DWG.

------------------
Schöne Grüße
Ernst

www.geopaint.at

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 19. Nov. 2013 18:49    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 MARTINLE 10 Unities + Antwort hilfreich

Hallo Martin,

bei mir funktioniert zumindest Zoom einwandfrei.
Zum Schieben verwende ich den Schieben-Befehl und gebe die Werte gezielt ein oder benutze dazu die Fang-Funktionen.

Da ich CAD sehr viel für CNC-Arbeiten benutze, kann ich mir nicht leisten beim Schieben nach Augenmaß zu arbeiten.

Wenn bei Dir mit "Mbuttonpan 0" schieben nicht mehr geht, kannst Du auch Shift + Rechte Maustaste für den Fang verwenden.

Viel Erfolg.

Theodor

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