|
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 |
|
AutoLisp : Elemente aus Blockreferenz entfernen
WolfgangE am 30.06.2005 um 12:05 Uhr (0)
Hallo Lispler, gleich vorweg: bin sowohl in Lisp als auch AutoCad ziemlicher Laie. Ich habe in AutoCad eine Blockreferenz (also ein 0.INSERT). Nun möchte ich aus dieser Blockreferenz bestimmte Elemente rauslöschen, z.B. alle Linien auf einem bestimmten Layer. Ich bin schon mal so weit, wenn ich mir das Element 0.BLOCK aus der Blocktabelle hole, dass ich in Folge alle Elemente des Blocks auflisten kann. Wenn ich nun aber die Elemente löschen will, funktioniert das nicht. Warum? Hier mein Ansatz: (SETQ CurrI ...
|
In das Form AutoLisp wechseln |
|
Lisp : Entfernen von Benannten Layerfiltern per Lisp-Routine ?
mkl-cad am 30.06.2005 um 12:35 Uhr (0)
Ist neu feine Sache das Programm. Wie kann man denn nun mit Lisp selber Layerfilter erstellen? Ausser eine Zeichnung mit Layerfiltern einzufügen. Danke ------------------ Martin Viele Grüße aus dem schönen Münsterland!
|
In das Form Lisp wechseln |
|
AutoLisp : Popupmenü laden / entfernen
benwisch am 30.06.2005 um 14:38 Uhr (0)
Hallo Wolfgang, Zitat: wie kann man ein Popupmenü aus einer eigenen mnc mit LISP oder ActiveX laden und entfernen? Sichtbar/Unsichtbar schalten geht ganz einfach mit AchtiveX... sammeln der Menüs...(hier als Bsp. die Menügruppe Menue Code: (setq menupopup (vla-get-menus (vla-item (vla-get-menugroups (vlax-get-acad-object)) Menue ) ) ) speichern des MenüPopups mit dem Namen: ToolBox Code: (setq popname (vla-item menupopup ToolBox )) Die für die Sichtba ...
|
In das Form AutoLisp wechseln |