|
AutoLisp : Formate aus PC3
axeld am 25.11.2004 um 16:30 Uhr (0)
Wie kann ich Plotformate aus einer bestimmten PC3-Datei auslesen, um sie als Liste in AutoCAD zu verwenden? ------------------ Axel
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Formate aus PC3
Brischke am 25.11.2004 um 20:32 Uhr (0)
Hallo Axel, direkt auf die PC3 zugreifen ... das geht meines Wissens nicht. Du kannst aber die Druckerkonfiguration in einem Layout aktuell setzen und dann über das Layout-Object auf die Papierformate zugreifen. So: Code: (foreach Media (vlax-safearray- list (vlax-Variant-Value(vlax-invoke-method Layout GetCanonicalMediaNames))) (setq ergli (cons(cons (vlax-invoke-method Layout GetLocaleMediaName Media) Media) ergli)) ) In der Variablen ergli hast du dann die Papierformate (Name . Abmessun ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Bearbeitungszeit ändern
CADmium am 25.11.2004 um 23:01 Uhr (0)
Hier mal 2 Routinen, wie es gehen sollte: (defun c:GET-BEARBEITUNGSZEIT(/ DICT PROPS ZEIT STUNDE MINUTE SEKUNDE) (if(and (setq DICT (dictsearch (namedobjdict) "DWGPROPS")) (setq PROPS (entget(cdr(assoc -1 DICT)))) (setq ZEIT (cdr(assoc 40 PROPS))) ) (progn (setq TAGE (fix ZEIT)) (setq ZEIT (* 24.0 60 60 (- ZEIT TAGE))) (setq ZEIT (+ ZEIT 0.0005)) (setq STUNDE (fix (/ ZEIT 3600.0))) (setq MINUTE (fix (/ (- ZEIT (* STUNDE 36 ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Nachkommastellen
mapcar am 26.11.2004 um 01:14 Uhr (0)
Ich denke, die Frage reicht nicht aus;-) Du willst die Mantisse unabhängig vom Exponenten? Oder die Mantisse in Abhängigkeit vom Exponenten 1e-16? Und das als Zahl oder als Text? Wenn du nur den Text brauchst, kannst du ja vor dem E abschneiden - das erscheint mir aber als ziemlich wacklige und unsichere Methode;-) Das müsstest du genauer definieren. Gruß, Axel ------------------ (defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man s hat Meine AutoLisp-Seiten M ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Schweisszeichen
Brischke am 26.11.2004 um 11:04 Uhr (0)
Hallo Alpschorch, das Durchmesserzeichen ist als Schriftzeichen möglich, Schweißzeichen sind mir als solches unbekannt. - So ist es nicht möglich. Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! Autodesk User Group Central Europe AutoLISP-Programmierung für AutoCAD AUGCE Manager Deutschland Da weiß man, wann man s hat!
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Nachkommastellen
mapcar am 26.11.2004 um 13:53 Uhr (0)
Wirklich klar ist es mir immer noch nicht;-) Zunächst mal: Bricscad 5.0 zeigt bei Eingabe von (rtos 8.88178e-016 2 3) auch 0.0000 an. Aber das ist eben nur die Anzeige auf dem Bildschirm - intern bleiben die Zahlen doch völlig unverändert. Wahrscheinlich willst du die Zahlen irgendwo rausschreiben. Schreibst du sie als Datentyp Double raus, hat deine Zahl auch noch in Excel oder sonstwo den Wert 8.88178E-16, schreibst du sie als Text raus, hast du in Intellicad ein Problem, wenn plötzlich eine andere For ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Nachkommastellen
Theodor Schoenwald am 26.11.2004 um 18:27 Uhr (0)
Hallo Axel, zu Deinen Fragen Die Daten benötige für CNC-Daten. Hier ist ein Ausschnitt von eine CNC-Datei, es ist eine Text-Datei. Bei N44 ist die fehlerhafte Ausgabe. ... N43 G1 X1.791 Y41.972 N44 G2 X0.937 Y47.192 I4.441E-16 J2.680 N45 G1 X22.528 Y54.448 N46 G3 X24.558 Y57.590 I-0.957 J2.845 ... aussehen sollte es so, damit die CNC-Steuerung etwas damit anfangen kann: ... N43 G1 X1.791 Y41.972 N44 G2 X0.937 Y47.192 I0.000 J2.680 N45 G1 X22.528 Y54.448 N46 G3 X24.558 Y57.590 I-0.957 J2.845 ... Das ICAD i ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Volumenkörper auflösen
LarsM am 26.11.2004 um 19:13 Uhr (0)
Hallo Thomas, was mache ich falsch? Bei mir will sich das Ding nicht zerlegen! In den Anhang habe ich mal eine Datei mit nur einem Körper gepackt. Vielleicht wärest Du so nett und versuchst es. Gruß Lars ------------------ Fachmann zur Aufhebung der Schwerkraft. Statiker Lars
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Volumenkörper auflösen
mapcar am 27.11.2004 um 02:05 Uhr (0)
Hier ist mal wieder der Museumswärter gefragt, glaube ich... Lars, es gibt in AutoCAD einfach verschiedene Ansätze, was 3D betrifft. Diese Ansätze sind in der Regel nicht kompatibel zueinander. Zunächst muss man immer wissen, womit man es bei 3D-Gebilden zu tun hat: Wenn der Liste-Befehl "3DSOLID" anzeigt, dann hast du es mit einem Volumenkörper der neuesten Generation zu tun. Einmal EXPLODE zerlegt diese evtl. in Flächen, aber auch in ganz obskure Entities, die du nicht weiter verarbeiten kannst, wie z.B ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Nachkommastellen
mapcar am 27.11.2004 um 02:12 Uhr (0)
Freut mich, Theodor, aber nur um der Ästhetik willen: Möchte man testen, ob x im Bereich zwischen a und b liegt, genügt das hier: ( a x b) bzw. ( 0.0 x 0.0005) Es lebe die Eleganz! Gruß, Axel Strube-Zettler ------------------ (defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man s hat Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Volumenkörper auflösen
mapcar am 27.11.2004 um 10:38 Uhr (0)
Ach, warum peinlich - Irrtümer und Fehler sind hier immer vorbehalten;-) Peinlich war nur der Code, den ich neulich im VBA-Forum zusammengestrickt habe;-) Gruß, Axel Strube-Zettler ------------------ (defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man s hat Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Volumenkörper auflösen
mapcar am 27.11.2004 um 13:18 Uhr (0)
Wenns weiter nichts ist: Lass das hier auf Zeichnung los, und schon hast du echte 3DSolids, die du dann bis zum Umfallen verursprungen kannst: Code: ; Hilfsfunktion (defun ss-foreach(ss expr / i) (if ss (repeat(setq i(sslength ss)) ((eval expr)(ssname ss(setq i(1- i)))) ) ) ) ; Befehl (defun c:solids- 3DSolids( / ) (ss-foreach(ssget"X" ((0 . "Solid"))) (function (lambda(solid / height) (if(not(zerop(setq height(cdr(assoc 39(entget solid)))))) (command"_ext ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Kompatibilität von .fas/.lsp 2000-2004
LamE am 27.11.2004 um 13:52 Uhr (0)
Hallo. Ich bin Student und habe als Praktikumsaufgabe folgendes bekommen: Ich soll ein Programm (Lisp) welches auf AutoCAD 2000 lief, kompatibel machen für Autocad 2004, da das Programm nicht komplett ausgeführt wird. Nun habe ich allerdings nicht so viel Ahnung (im Grunde genommen 0) von AutoCAD bzw. Lisp. Das Programm macht folgendes: Aufgrund von Eingaben in eine Maske erstellt es eine Zeichnung und diese Zeichnung wir dann bemaßt. Dies funzt auch alles bei Autocad2000. bei der 2004-er Version zeichnet ...
|
| In das Form AutoLisp wechseln |