Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Einfüge Punkt wählen

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:  Einfüge Punkt wählen (1438 mal gelesen)
Dolcetto
Mitglied
Konstrukteur / Softwareentwickler


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

Beiträge: 66
Registriert: 04.05.2004

erstellt am: 12. Jul. 2005 08: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

Hallo Forum,

Ich habe mal wieder eine Frage. Als erstes mal hier meine Lisp:

(setq D (getdist "Aussendurchmesser eingeben:"))
(setq s (getdist "Wanddicke eingeben:"))
(setq rd (- (/ D 2) s))
(setq L (getdist "Länge eingeben:" ))
(setq linie0 (list (cons 0 "line") (cons 8 "AM_0") (List 10 0 (- 0 (/ D 2)) 0) (List 11 L (- 0 (/ D 2)) 0)))
(setq linie1 (list (cons 0 "line") (cons 8 "AM_0") (List 10 0 (/ D 2) 0) (List 11 L (/ D 2) 0)))
(setq linie2 (list (cons 0 "line") (cons 8 "AM_3") (List 10 0 (- 0 rd) 0) (List 11 L (- 0 rd) 0)))
(setq linie3 (list (cons 0 "line") (cons 8 "AM_3") (List 10 0 rd 0) (List 11 L rd 0)))
(setq linie4 (list (cons 0 "line") (cons 8 "AM_0") (List 10 0 (- 0 (/ D 2)) 0) (List 11 0 (/ D 2) 0)))
(setq linie5 (list (cons 0 "line") (cons 8 "AM_0") (List 10 L (- 0 (/ D 2)) 0) (List 11 L (/ D 2) 0)))
(setq Mlinie0 (list (cons 0 "line") (cons 8 "AM_7") (List 10 (- 0 5) 0 0) (List 11 (+ L 5) 0 0)))
(entmake linie0)
(entmake linie1)
(entmake linie2)
(entmake linie3)
(entmake linie4)
(entmake linie5)
(entmake Mlinie0)

(setq G (/ (* (- (/ (* (expt D 2) pi) 4) (/ (* (expt (- D s s) 2) pi) 4)) L 7.8) 1000000))

Wie ihr seht, gehe ich hier immer von den Koorinaten 0,0,0 aus!
wie kann ich aber machen, das ich die masse eingebe und erst im nachhinein den Einfügepunkt wähle???

Würde mich über eine einfache erklärung freuen, da ich mehrere Lisp habe di sich auf den 0-Punkt beziehen.

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 12. Jul. 2005 09:29    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 Dolcetto 10 Unities + Antwort hilfreich

Hallo,
ich würde folgendes machen: alle erzeugten Elemente in einen Auswahlsatz speichern, und dann zum Schluß gemeinsam schieben:

z.B.
(entmake linie0)
(if AWS (ssadd (entlast) AWS)
  (setq AWS (ssadd(entlast))))
(entmake linie1)
(if AWS (ssadd (entlast) AWS)
  (setq AWS (ssadd(entlast))))
(entmake linie2)
(if AWS (ssadd (entlast) AWS)
  (setq AWS (ssadd(entlast))))
(entmake linie3)
(if AWS (ssadd (entlast) AWS)
  (setq AWS (ssadd(entlast))))
(entmake linie4)
(if AWS (ssadd (entlast) AWS)
  (setq AWS (ssadd(entlast))))
(entmake linie5)
(if AWS (ssadd (entlast) AWS)
  (setq AWS (ssadd(entlast))))
(entmake Mlinie0)
(if AWS (ssadd (entlast) AWS)
  (setq AWS (ssadd(entlast))))
(setq punkt(getpoint "\nBitte Einfügepunkt angeben:"))
(if punkt
  (command "_.move" AWS "" "0,0" punkt ""))

------------------
viele Grüße

Jörn

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

Dolcetto
Mitglied
Konstrukteur / Softwareentwickler


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

Beiträge: 66
Registriert: 04.05.2004

erstellt am: 12. Jul. 2005 09: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

Kannst du mir noch erklären was diese zeile genau macht?

if AWS (ssadd (entlast) AWS)
  (setq AWS (ssadd(entlast))))

Du Speicherst alles in die Variable AWS, und diese verschiebst du dann, richtig? Was genau Speicherst du?

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 12. Jul. 2005 09:45    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 Dolcetto 10 Unities + Antwort hilfreich

Hallo Dolcetto,

diese Zeile macht folgendes:
(if AWS  =>wenn der Variablen AWS  bereits ein Wert (Auswahlsatz) zugeordet ist
(ssadd (entlast) AWS)  => dann wird diesem Auswahlsatz das zuletzt erstellte Element (entlast) zugefügt und der Variablen AWS zugeordnet
  (setq AWS (ssadd(entlast)))) =>wenn der Variablen AWS noch kein Wert zugeordnet ist, dann wird mit dem zuletzt erzeugten Element (entlast) ein neuer Auswahlsatz erzeugt und der Variablen AWS zugeordnet.

Wichtig ist, das die Variable als lokal definiert wird, oder Du weist ihr den zu Beginn der Routine den Wert nil zu.

------------------
viele Grüße

Jörn

[Diese Nachricht wurde von joern bosse am 12. Jul. 2005 editiert.]

[Diese Nachricht wurde von joern bosse am 12. Jul. 2005 editiert.]

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

Dolcetto
Mitglied
Konstrukteur / Softwareentwickler


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

Beiträge: 66
Registriert: 04.05.2004

erstellt am: 12. Jul. 2005 10:46    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

habe mir gerade überlegt, geht das nicht auch irgendwie so???

(setq AWS (list
(entmake linie0)
(entmake linie1)
(entmake linie2)
(entmake linie3)
(entmake linie4)
(entmake linie5)
(entmake Mlinie0)))

(setq punkt(getpoint "\nBitte Einfügepunkt angeben:"))
  (command "_.move" AWS "" "0,0" punkt "")

oder warum geht das nicht? ist irgend etwas falsch?

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 12. Jul. 2005 11: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 Dolcetto 10 Unities + Antwort hilfreich

Hallo Dolcetto,
nein, das geht nicht. Die entmake Funktionen geben Dir nur die Elementlisten wieder, und diese beinhalten ja nur die Eigenschaften der Objkte, sind aber nicht die Objekte selbst.

------------------
viele Grüße

Jörn

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 12. Jul. 2005 11: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 Dolcetto 10 Unities + Antwort hilfreich

mal ein bsp mit grread

(defun c:AM-FADENKREUZ ( / L D P1 P2 PKT LINE0)
  (setq D (getdist "Aussendurchmesser eingeben:"))
  (setq L (getdist "Länge eingeben:" ))
  (setq P1 (list 0 (- 0 (/ D 2.0)) 0))
  (setq P2 (list L (- 0 (/ D 2.0)) 0))
 
  (while (= 5 (car (setq PKT (grread 't 5 0))))   
    (if LINE0 (entdel LINE0))
    (entmake(list (cons 0 "line")
              (cons 8 "AM_0")
              (cons 10 (mapcar '+ P1 (cadr PKT)))
              (cons 11 (mapcar '+ P2 (cadr PKT)))
            )
    )
    (setq LINE0(entlast))     
  ) 
)

anstelle des entmake reicht bei umrissen auch grdraw...

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Dolcetto
Mitglied
Konstrukteur / Softwareentwickler


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

Beiträge: 66
Registriert: 04.05.2004

erstellt am: 12. Jul. 2005 11: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


Also diesen Teil verstehe ich noch Ziemlich gut:

(defun c:AM-FADENKREUZ ( / L D P1 P2 PKT LINE0)
  (setq D (getdist "Aussendurchmesser eingeben:"))
  (setq L (getdist "Länge eingeben:" ))
  (setq P1 (list 0 (- 0 (/ D 2.0)) 0))
  (setq P2 (list L (- 0 (/ D 2.0)) 0))
 
 Allerdings hier musst du mich schon aufklären, da verstehe ich garnix:

(while (= 5 (car (setq PKT (grread 't 5 0))))   
    (if LINE0 (entdel LINE0))
    (entmake(list (cons 0 "line")
              (cons 8 "AM_0")
              (cons 10 (mapcar '+ P1 (cadr PKT)))
              (cons 11 (mapcar '+ P2 (cadr PKT)))
            )
    )
    (setq LINE0(entlast))     
  ) 
)


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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 12. Jul. 2005 11: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 Nur für Dolcetto 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Dolcetto:

 Allerdings hier musst du mich schon aufklären, da verstehe ich garnix:

muß ich nicht! 

..es gibt unter F1 ne Hilfe, entsprechende Literatur und auf Mapcars seiten ein schönes Tutorial..

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Dolcetto
Mitglied
Konstrukteur / Softwareentwickler


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

Beiträge: 66
Registriert: 04.05.2004

erstellt am: 12. Jul. 2005 11: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

Kenne ich alles, davon habe ich auch bis jetzt das was ich kann! :-)

Allerdings Lerne ich am effektivsten wenn ich es an praxis beispiele gleich probieren kann. Einfach nur literatur, ohne eine idee für was ich es verwenden kann ist ziemlich mühsam!

Naja ich kämpfe mich mal durch!

THX

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