Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Variable in Koordinaten

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:  Variable in Koordinaten (2565 mal gelesen)
dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

Windows 8.1 Professional 64 Bit
AutoCAD 2020

erstellt am: 03. Jan. 2014 08: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

Hello @ all,

komme an einem Punkt nicht weiter,
es soll ein Bauteil in Z-Richtung kopiert werden:
(setq LA (- OKF UKF RB RB))
(command "_copy" (entlast) "" "0,0,0" "0,0,LA"); not works
AutoCAD kann das LA an der Stelle nicht verarbeiten.
Kann man an der Stelle nichts anderes als Zahlen einsetzen?

Gruß
Dieter

PS: Fortsetzung von
http://ww3.cad.de/foren/ubb/Forum259/HTML/002134.shtml#000012

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: 03. Jan. 2014 08:53    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 dwg3d 10 Unities + Antwort hilfreich

und

(command "_copy" (entlast) "" '(0 0 0) (list 0 0 LA))
?

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - 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

dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

erstellt am: 03. Jan. 2014 10: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

Hallo CADmium,

danke für deinen Vorschlag.
Ich habe es getestet, leider kann AutoCAD das auch nicht verarbeiten.
Vielleicht wird hiermit die Grenze des AutoLISP-Universums erreicht 
Das wäre schade!

Gruß
Dieter

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: 03. Jan. 2014 11: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 dwg3d 10 Unities + Antwort hilfreich

Also bei mir funktioniert es ... sollte also nicht am Code oder an Adesk liegen  ..
Steht Copymode auf 1 ?

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - 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

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: 03. Jan. 2014 11: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 dwg3d 10 Unities + Antwort hilfreich

Hallo Dieter,
dann prüfe mal Deine Variable LA, entweder über den VLIDE-Editor http://www.bosse-engineering.com/downloads/090501_VisualLISP-Editor.pdf oder über die Eingabe von !LA in der Befehlszeile. Ist da wirklich ein gültiger Zahlenwert enthalten?

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

Jörn
http://www.bosse-engineering.com

Koordinaten einlesen Youtube

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: 03. Jan. 2014 11:11    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 dwg3d 10 Unities + Antwort hilfreich

Deine Einschätzungen über irgendwelche Programmiersprachen in allen Ehren, aber lasse das besser die nächsten Jahre noch..
_

CADmiums Post stimmte schon, warum du damit nicht zurecht kommst, ist gerade schwer zu beurteilen.
Bei AutoCAD-Befehlen wird als Koordinateneingabe ein String oder eine Liste akzeptiert:

"0,0,0" oder erst während der Laufzeit zusammengebaut (strcat "0" "," YWERT "," ZWERT)

aber auch eine Liste '(0 0 0) oder auch (list XWERT 0 ZWERT)

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

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

archtools
Mitglied



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

Beiträge: 823
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 03. Jan. 2014 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 dwg3d 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von dwg3d:
Vielleicht wird hiermit die Grenze des AutoLISP-Universums erreicht  
Das wäre schade!

Gruß
Dieter


Das ist eigentlich der typische Weckruf, um Dir das Absolvieren eines Programmierkurses zu empfehlen. Das, was Du formulierst, ist tatsächlich kein richtiges Lisp, sondern nur eine Schnittstelle im AutoLisp, mit der man Befehle in AutoCAD ausführen lassen kann. Wenn, dann ist das also das ganz, ganz untere Ende der Möglichkeiten von AutoLisp, und Dir steht die Entdeckung all seiner Möglichkeiten erst noch bevor.

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

dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

erstellt am: 03. Jan. 2014 18:02    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,

es funktioniert jetzt.
Habe all eure Hinweise berücksichtigt:
- copymode steht auf 0
- !Variable gibt die richtige Zahl aus
- Prüfung im VisualLISP-Editor, bislang habe ich alles im Text-Editor geschrieben, ich bleibe auch wohl erst noch beim Text-Editor
- (list XWERT 0 ZWERT), dieses Format funktioniert jetzt
- Programmierkurs habe ich allerdings noch nicht gemacht,
wäre natürlich auch noch interessant.
Danke für eure Tipps.

Gruß
Dieter

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: 06. Jan. 2014 20:00    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 dwg3d 10 Unities + Antwort hilfreich

Zitat:
...- Programmierkurs habe ich allerdings noch nicht gemacht, ...

vielleicht fürs Erste mal diese Seiten:
http://www.tutorial.autolisp.info/cmdline1.html

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

www.geopaint.at

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

dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

erstellt am: 14. Jan. 2014 12: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

Hallo Leute,

gibt es eine Möglichkeit vom LISP die letzten 5 in einer Zeichnung erstellten Objekte auswählen zu lassen?
Bislang konnte ich dafür noch nichts finden.

Gruß
Dieter

[Diese Nachricht wurde von dwg3d am 14. Jan. 2014 editiert.]

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: 14. Jan. 2014 13:10    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 dwg3d 10 Unities + Antwort hilfreich

1. Neues Thema = neuer Thread ! ( aber jetzt egal, da passiert )
2. wozu .. brauchst du die letzten 5 Objekte .... oder hast du eine Funktion , die irgendwelche Objekte erzeugt und die willst du dann einsammeln ?

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - 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

dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

erstellt am: 14. Jan. 2014 19: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

Zitat:
Original erstellt von CADmium:
1. Neues Thema = neuer Thread !


gedacht hatte ich es auch schon.

Hallo Thomas,

die Objekte (es können auch mal mehr oder weniger als 5 sein) sollen über _arrayrect vervielfältigt werden.
Am komfortabelsten wäre es, wenn man sie dazu zusammenfassen könnte,
dann wäre nur ein _arrayrect erforderlich für ein zusammengesetztes Bauteil. Könnte es da etwas geben?

Gruß
Dieter

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: 14. Jan. 2014 21:11    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 dwg3d 10 Unities + Antwort hilfreich

Es hört sich so an als wenn du selbst, oder gar dein "Programm", die 5 Elemente erstell(s)t ?

Auch wenn das jetzt den einfachsten Fall zeigt und zuviel über die Entstehung der 5 unbekannt ist:

Variante1 - Letztes Objekt vor der Erstellung der 5 merken,
alle danach sind dann deine Objekte.

Variante2 - Die letzten 5 einfach ermitteln.
ENTNEXT durchgehen..

Auch könntest du schauen in welcher Reihenfolge ein Auswahlsatz (ssget "_X" Filter) vorliegt und die letzten 5 so in Erfahrung bringen,
ohne zu testen sollte das die Erstellreihenfolge sein, schau mal nach.

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

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

spider_dd
Mitglied



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

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 15. Jan. 2014 08:38    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 dwg3d 10 Unities + Antwort hilfreich

...

Variante 3)  Wenn du die Elemente einzeln erstellst, kannst Du diese nach dem Erstellen mit ssadd und entlast einem Auswahlsatz hinzufügen.

Gruß
Thomas

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

dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

erstellt am: 15. Jan. 2014 12:53    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, Thomas & alle Interessierten,

mein "LISP-Programm" konstruiert ein Möbel (alle Objekte sind Quader),
darin gibt es eine Baugruppe (Schubkasten, 5 Quader, 4 Layer), die über arrayrect vervielfältigt werden soll.
Bislang hatte ich nach der Erstellung jeweils arrayrect mit entlast ausführen lassen, also 5 mal arrayrect.
Schöner wäre natürlich 1 mal arrayrect.
Außerdem, wenn ich ein assoziatives Baugruppen-array haben wollte, wäre diese Vorgehensweise nicht mehr möglich.

Variante1: muss ich mir das Objekt merken, oder muss LISP es sich merken?
Variante 2+3: bislang habe ich kein Beispiel gefunden, wo die letzten z. B. 5 Teile gezählt werden.

Gruß
Dieter

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: 15. Jan. 2014 13: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 Nur für dwg3d 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von dwg3d:
Variante1: muss ich mir das Objekt merken, oder muss LISP es sich merken?

Du musst dir das nicht merken ;) Es genügt, wenn du die ObjectIds in einer Variablen speicherst
Zitat:
Original erstellt von dwg3d:
Variante 2+3: bislang habe ich kein Beispiel gefunden, wo die letzten z. B. 5 Teile gezählt werden.

Solche Funktion gibt's nicht, die musst du dir selber programmieren:
Ablauf:
;Am Programmstart
(setq lastel (entlast));letztes Element der ZeichnungsDatenbank ermitteln
(... )
;Wenn du nun die neusten Elemente brauchst
(while (setq el (entnext lastel))
(setq NewElements(cons el NewElements) lastel el)
)
;in NewElements sind jetzt die neu hinzugefügten Elemente, das jüngste als erstes .. da kannst du nun also die ersten 5 Elemente nehmen - das sind die, die du suchst.


Bei Fragen ...
Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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

archtools
Mitglied



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

Beiträge: 823
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 15. Jan. 2014 14:08    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 dwg3d 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Brischke:

Solche Funktion gibt's nicht, die musst du dir selber programmieren:
Ablauf:
;Am Programmstart
(setq lastel (entlast));letztes Element der ZeichnungsDatenbank ermitteln
(... )
;Wenn du nun die neusten Elemente brauchst
(while (setq el (entnext lastel))
(setq NewElements(cons el NewElements) lastel el)
)
;in NewElements sind jetzt die neu hinzugefügten Elemente, das jüngste als erstes .. da kannst du nun also die ersten 5 Elemente nehmen - das sind die, die du suchst.


Bei Fragen ...
Grüße!
Holger



Aber Vorsicht: nicht unbedingt alle mit ENTNEXT gefundenen Elemente will man im Auswahlsatz haben. Bei alten Polylinien gibt's Vertex-Entities, eventuell gibt's Elemente in anderen Viewports usw..

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

dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

erstellt am: 16. Jan. 2014 19:58    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 archtools,

über die Wirkungsweise und Möglichkeiten der "ENTNEXT-Funktion" bin ich mir noch nicht im klaren.
Wenn in einer Zeichnung aber nur Quader erstellt wurden, kann "ENTNEXT" dort keine Polylinien finden,
würde ich vermuten!?

Gruß
Dieter

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

dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

Windows 8.1 Professional 64 Bit
AutoCAD 2020

erstellt am: 16. Jan. 2014 20:02    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 Holger,

deinen Vorschlag habe ich in einen kleinen Testcode eingebaut,
leider bekomme ich es nicht ans laufen.
(defun c:lastfive ()
(command "_-view" "_swiso" "")
(command "_UCS" "_W")
(setvar "osmode" 0)
(setq p1 (list  0 0 0         ))
(setq p2 (list (+(car p1)100) (-(cadr p1)100) (+(caddr p1)25) ))
(command "quader" p1 p2)
(setq lastel (entlast))
(command "quader" p1 p2)
(command "quader" p1 p2)
(command "quader" p1 p2)
(command "quader" p1 p2)
(while (setq el (entnext lastel))
(setq NewElements(cons el NewElements) lastel el)  )
(setq AZ (getint "AnZahl:"))
(command"_arrayrect" (NewElements) ""  "Spalten" 1  "Zeilen" 1  "Ebenen" (itoa AZ)  100  "Assoziativ" "n"  "x")
(command "zoom" "g" "")
(setvar "osmode" 63)
)
AutoCAD fordert auf "Objekte wählen:"!
Was kann man machen?

Gruß
Dieter

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

archtools
Mitglied



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

Beiträge: 823
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 16. Jan. 2014 20:08    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 dwg3d 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von dwg3d:
Hallo archtools,

über die Wirkungsweise und Möglichkeiten der "ENTNEXT-Funktion" bin ich mir noch nicht im klaren.
Wenn in einer Zeichnung aber nur Quader erstellt wurden, kann "ENTNEXT" dort keine Polylinien finden,
würde ich vermuten!?


AutoCAD kennt keinen Entitytyp namens "Quader". Du kannst ja problemlos nachsehen, aus was Deine Quader bestehen.

Unabhängig davon sollte man Programme immer so funktional schreiben wie möglich. Es wäre doch unangenehm, wen Du morgen vor einer gleichen Aufgabe stehst und dann vermeidbare Fehlerabbrüche bekommst.

Schreib' Dir eine Funktion, die Dir alle seit einem angegebenen Entity neu erzeugten Elemente in eine Liste oder einen Auswahlsatz schreibt. Diese Funktion kannst Du dann immer wieder verwenden.

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: 16. Jan. 2014 21:07    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 dwg3d 10 Unities + Antwort hilfreich

Was die commandZeile angeht:
Die Autocadobjektwahl erwartet ein Entityname oder einen Auswahlsatz,
eine Liste wird nicht akzeptiert.
Du müßtest also einen AWS erst erstellen mit den Objekten deiner Liste.

(setq aws (ssadd))
(foreach en meineliste (ssadd en aws))

(command "_move" aws "" "0,0" "20,0")

so in der Art.

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

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: 16. Jan. 2014 22:26    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 dwg3d 10 Unities + Antwort hilfreich

versuch das:
(command"_arrayrect")
(mapcar 'command  NewElements)
(command ""  "Spalten" 1  "Zeilen" 1  "Ebenen" (itoa AZ)  100  "Assoziativ" "n"  "x")

Grüße!
Holger
PS: nur so kurz, weil's proggen an Handy echt mühsam ist.

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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: 16. Jan. 2014 22:53    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 dwg3d 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Brischke:
PS: nur so kurz, weil's proggen an Handy echt mühsam ist.

Dem schließe ich mich an   

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

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

dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

erstellt am: 17. Jan. 2014 16:53    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 CAD on demand GmbH & archtools,

insgeheim hatte ich gehofft eine einfache, fertige Lösung angeboten zu bekommen   , da ich ja kein High End LISP-Programmierer bin und dieses zu werden auch nicht mein Ziel war / ist.
Eine einfache, fertige Lösung gibt es in diesem Fall ja auch wohl nicht.
Ich werd mal sehen wie weit ich mit eurer Programmierhilfe an eine Lösung dieses Problems herankomme, vielleicht wird es noch Fragen geben  

Gruß
Dieter


[Diese Nachricht wurde von dwg3d am 17. Jan. 2014 editiert.]

[Diese Nachricht wurde von dwg3d am 17. Jan. 2014 editiert.]

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

dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

Windows 8.1 Professional 64 Bit
AutoCAD 2020

erstellt am: 21. Jan. 2014 07: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 Leute,

es gibt Fortschritte:
mit "entlast" und "ssadd" kann ich das Problem lösen,
allerdings müssen diese Funktionen nach Erstellung jedes Einzelteils gesetzt werden.

Mit "foreach" bekomme ich nichts ans laufen, ich finde auch nirgendwo ein Beispiel,
wie "foreach" in meinem "Programm" aussehen könnte.

(command"_arrayrect")
(mapcar 'command  NewElements)
(command ""  ......
Bei dieser Lösung wird leider das erste Element nicht in den Auswahlsatz übernommen,
aber der Rest funktioniert.
Mir ist allerdings nicht klar, warum der Rest funktioniert,
vielleicht ist diese Lösung auch eher etwas für fortgeschrittene Lispler?

Muss ich mich mit der ersten funktionierenden Lösung zufrieden geben,
oder kann man noch etwas machen?

Gruß
Dieter

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

spider_dd
Mitglied



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

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 21. Jan. 2014 08:24    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 dwg3d 10 Unities + Antwort hilfreich

Hallo Dieter,


Zitat:

... es gibt Fortschritte:
mit "entlast" und "ssadd" kann ich das Problem lösen,
allerdings müssen diese Funktionen nach Erstellung jedes Einzelteils gesetzt werden.

Das es Fortschritte gibt, ist doch schon mal schön.
Entlast liefert nun mal das zuletzt erzeugte Element. Wenn Du mehrere erzeugen und einsammeln willst, musst Du eben entlast nach jedem Element anwenden.
ODER: Du merkst Dir mit entlast das aktuell letzte Element bevor Du die Neuen erzeugst und nutzt dann die Möglichkeiten von entnext (s. z. B. hier)

Zitat:

Mit "foreach" bekomme ich nichts ans laufen, ich finde auch nirgendwo ein Beispiel,
wie "foreach" in meinem "Programm" aussehen könnte.

Da wir nicht wissen, wie Dein Programm aussieht, können wir hier auch keine konkrete Hilfe leisten, höchsten Allgemeines, aber das findest Du auch in der Hilfe. Also bitte Programm(ausschnitt) hier posten oder hochladen.


Zitat:

(command"_arrayrect")
(mapcar 'command  NewElements)
(command ""  ......
Bei dieser Lösung wird leider das erste Element nicht in den Auswahlsatz übernommen,
aber der Rest funktioniert.
Mir ist allerdings nicht klar, warum der Rest funktioniert,
vielleicht ist diese Lösung auch eher etwas für fortgeschrittene Lispler?

Hier ist mir nicht klar, was Du uns damit sagen willst.


Zitat:

Muss ich mich mit der ersten funktionierenden Lösung zufrieden geben,
oder kann man noch etwas machen?

Auch hier gilt: "Zeige uns, was Du schon hast und wo es klemmt" und Hilfe wird sicher nicht lange auf sich warten lassen.

Gruß
Thomas

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: 21. Jan. 2014 09: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 dwg3d 10 Unities + Antwort hilfreich

Da du offenbar wirklich an dem Thema dran bist (man sieht hier auch mal andere Sachen):

Mit Google arbeiten: wunderschöne Abfragen
in Englisch: autocad lisp selectionset last entities
oder Deutsch, wobei ich da gerne explizit
im CAD.de Lispforum suche: site:cad.de Forum145 letzten objekte

Wie auch immer, würde man auf diverse fertige Codes kommen, wie hier zB. 2 ode 3 letzte Objekte

hoffe das es jetzt klappt 

PS: ich bekommen keine fehlerfreie Commandausführung mit arrayrect hin, ich gebe zeilen und spalten an,
jedoch kommt 'Erfordert eine Ganzzahl zwischen 1 und 32767 oder einen Optionstitel'
Zeilen und Ebenenabstand stimmen nicht/werden nicht wie angegeben übernommen.  "" "_row" 7 2 1 "_col" 3 2 "")

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

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



Konstrukteur / Entwicklungsingenieur (w/m/d)

Die EnDes Gruppe ist eine international ausgerichtete Ingenieurgesellschaft, die zwei Standorten in Süddeutschland und vier Standorten in der Schweiz über 80 Mitarbeiter beschäftigt.

Die EnDes ist Engineering-Partner bei technologisch anspruchsvollen Entwicklungsprojekten. Unsere namhaften Auftraggeber kommen aus dem Maschinen-, Anlagen- und Apparatebau sowie der Medizin-, Fahrzeug- und Kunststofftechnik....

Anzeige ansehenKonstruktion, Visualisierung
dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

erstellt am: 27. Jan. 2014 12: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 Leute,

schon wieder gibt es Fortschritte:
mit >entlast, ssadd, while + entnext< bekomme ich es auch ans laufen.
Vielen Dank für eure Tipps.

Zwei funktionierende Lösungen für dieses Problem könnten ausreichen,
allerdings ist für mich in diesem Zusammenhang "foreach" immer noch ein Thema.

Aber keine Angst das es jetzt langweilig werden könnte,
aus gegebenem Anlass habe ich einen neuen Thread eröffnet: Thema Polylinien.

Gruß
Dieter

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