|
Lisp : Stationierung von Pline, Höhe aus Blöcken
Bernd P am 28.06.2005 um 10:29 Uhr (0)
Servus@cadffm Jup natürlich hab schon gesucht und ein paar Ansätze gefunden. Nur leider kann ich grad mal minifuzzi Lisp anpassen. Bei den grösseren LISP seh ich nicht mehr drüber.@tunnelbauerDie Blöcke liegen genau auf der Pline. Um den Bezug herzustellen brauch ich ja LISP Die Koordinaten kann ich nicht verwenden da die Pline auch knicke haben kann, wo kein Block liegt und die Reihenfolge bei -eattext verloren geht.@Cadffm THX für die schnelle AntwortLiest alle Attributewerte aus ohne Reihenfolge, ohne S ...
|
In das Form Lisp wechseln |
|
AutoLisp : Anordnung in Lisp
Dolcetto am 29.06.2005 um 07:19 Uhr (0)
Allgemein: Wie kann ich autoCAD befehle in eine Lisp schrieben, mit voergegebenen werten? z.B. soll er mir einen Kreis Zeichnen, diesen dan Automatisch auswählen und ihn über eine Anordnung Polar über einen festen Punkt zu einer eingegebenen Anzahl erstellen. (command _array ).......... und wie weiter??? geht das irgendwie so? Danke für die Antworten
|
In das Form AutoLisp wechseln |
|
AutoLisp : Anordnung in Lisp
Brischke am 29.06.2005 um 07:30 Uhr (0)
Hallo Dolcetto, ja, so ähnlich geht das: Kreis zeichnen: (command _circle (0.0 0.0 0.0) 10.0) Reihe: (command _array (entlast) _R 10 10 15 12) Wie du siehst ist in dem (command ..) exakt die gleiche Reihenfolge wie die Eingabe in der Befehlszeile. So ist es immer. Auf diese Weise kannst du eben die AutoCAD-Befehle in einem Lisp-Programm nutzen. Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Autodesk User Group Central Europe Individuelle Lösunge ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Anordnung in Lisp
Dolcetto am 29.06.2005 um 07:37 Uhr (0)
hmmm, wenn ich es z.B. so habe: (setq kreis0 (list (cons 0 circle ) (cons 8 AM_0 ) (10 0 0 0) (cons 40 10)))) Wo her weiss er welchen kreis ich meine??? also ich habe in meiner Lisp kreis0 - kreis10 will aber nur kreis3 anordnen! muss ich den befehl gleich nach (entmake kreis3) einsetzen oder wie? (command _array (entlast) _R 10 10 15 12)
|
In das Form AutoLisp wechseln |
|
AutoLisp : Anordnung in Lisp
CADmium am 29.06.2005 um 07:47 Uhr (0)
z.B: (setq kreis0 (list (cons 0 circle ) (cons 8 AM_0 ) (10 0 0 0) (cons 40 10))) (setq kreis3 (list (cons 0 circle ) (cons 8 AM_0 ) (10 0 10 0) (cons 40 20))) (setq kreis8 (list (cons 0 circle ) (cons 8 AM_0 ) (10 10 0 0) (cons 40 35))) ;_usw....dann Kreise erzeugen (entmake kreis0) (setq kreis0-fertig (entlast)) (entmake kreis3) (setq kreis3-fertig (entlast)) (entmake kreis8) (setq kreis8-fertig (entlast)) ; .. und dann Reihe (command _array kreis3-fertig _R 10 10 15 12) ----------------- ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Anordnung in Lisp
Dolcetto am 29.06.2005 um 08:13 Uhr (0)
Ok Danke euch, hat geklappt! Wieder etwas dazu gelernt! Wünsche noch einen schönen Tag.
|
In das Form AutoLisp wechseln |
|
AutoLisp : Anordnung in Lisp
WolfgangGutke am 29.06.2005 um 11:43 Uhr (0)
Hallo Dolcetto, mal nen kleinen Tipp, wie man ACAD-Befehl in LISP bekommt . Gebe einfach z.B. (command _.array ) in die Befehlsanzeige und notiere dir die Befehlsanfragen. In der gleichen Reihenfolge musst du den Befehl auch in LISP abspulen. Eine (bisher mir bekannte) Ausnahme gibt es: Es ist der Befehl Ausrichten. VG Wolfgang
|
In das Form AutoLisp wechseln |
|
AutoLisp : Nachbar Zelle aus Tabelle
startrek am 29.06.2005 um 13:47 Uhr (0)
Hi, mal auf die Schnelle, ist weder Lisp noch besonders hübsch. Nur n kleiner Ansatz, wobei so ganz ohne Excel, nur als Liste bzw. Textfile könnt ich mir das auch vorstellen;-) Gruss Nancy Code: Sub x() Dim xlapp As Object, wb As Object Dim arr, i&, p#(2) Set xlapp = CreateObject( Excel.application ) Set wb = xlapp.workbooks.Open( D:Mappe1.xls ) arr = wb.sheets( Tabelle1 ).range( A1:B1000 ) wb.Close 0 Set xlapp = Nothing For i = LBound(arr, 1) To UBound(arr, 1) If arr(i, 1) ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Anordnung in Lisp
Brischke am 29.06.2005 um 14:15 Uhr (0)
Hallo Dolcetto, man kann dies wirklich vereinfachen. Anbei ein Bsp. Ich selber würde mit noch ein paar Zeilen weniger klar kommen, aber dann wäre es für einen Anfänger nur sehr schwer zu verstehen. Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Autodesk User Group Central Europe Individuelle Lösungen von Heute auf Morgen. AUGCE Manager Deutschland
|
In das Form AutoLisp wechseln |
|
AutoLisp : Anordnung in Lisp
mkl-cad am 29.06.2005 um 14:27 Uhr (0)
Da war doch noch jemand schneller. Ich würde noch eine Überprüfung der Werte vornehmen. Innendurchmesser kleiner Aussendurchmesser ? Lochkreisdurchmesser kleiner als Aussendurchmesser und größer als Innendurchmesser? Lochkreisdurchmesser + Durchmesser der Löcher kleiner als Aussendurchmesser und größer als Innendurchmesser? viel Spaß beim weiterbasteln. Für den Anfang fand ich das Lisp schon ganz gut. ------------------ Martin Viele Grüße aus dem schönen Münsterland!
|
In das Form AutoLisp wechseln |
|
AutoLisp : Anordnung in Lisp
Dolcetto am 29.06.2005 um 14:32 Uhr (0)
@Brischke Oh ja das sieht schon ein bischen professioneller aus und ich muss sagen ich verstehe schon fast bahnhof! ich werde sie allerdings bisschen genauer studieren. danke für die rasche Bearbeitung! @mkl-cad Ah ok ich verstehe was du meinst, das ist gut fals man sich vertippt oder z.B. den Lochkreis grösser eingibt als den aussendurchmesser dann bricht das programm ab oder so, richtig?!?!
|
In das Form AutoLisp wechseln |
|
AutoLisp : Anordnung in Lisp
mkl-cad am 29.06.2005 um 16:50 Uhr (0)
Hallo Abbrechen tut das Programm nicht, aber es entsteht entweder Müll oder die Objekte liegen auf falschen Layern. Wenn man den Innendurchmesser größer Aussendurchmesser angibt. Dann ist anschließend der Äußere Kreis auf dem Layer des Innenkreises und umgekehrt. ------------------ Martin Viele Grüße aus dem schönen Münsterland! [Diese Nachricht wurde von mkl-cad am 29. Jun. 2005 editiert.]
|
In das Form AutoLisp wechseln |
|
AutoLisp : Popupmenü laden / entfernen
WolfgangGutke am 30.06.2005 um 09:41 Uhr (0)
Hallo, wie kann man ein Popupmenü aus einer eigenen mnc mit LISP oder ActiveX laden und entfernen? Gruß Wolfgang
|
In das Form AutoLisp wechseln |