| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: Visuallisp (1480 mal gelesen)
|
Kenny1 Mitglied
Beiträge: 77 Registriert: 29.06.2004
|
erstellt am: 01. Jul. 2004 07:00 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, ich habe folgendes Problem : Ich möchte ein paar Lisp-Routinen schreiben, mit denen ich Bauteile als 3D-Grafik einfügen kann. Dies soll über den Befehl"_box" erfolgen. Weiter sollen die Bauteile in der Zeichnung über den Befehl"_solidedit" verlängert oder verkürzt werden. Jetzt die eigentliche Frage : Ist es mit Acad und Lisp möglich von diesen Bauteilen eine Stückliste ins Excel oder Access zu generieren. Wichtig: Die Abmessungen der Bauteile sind alle unterschiedlich. Es werden alle 3 Dimensionen benötigt. Genial wäre es, wenn man die Bauteile nach Typen klassifizieren könnte und bei der Übertragung dies berücksichtigt bzw. sortiert würde. Kann man im Acad mit Grips 3D Bauteile ziehen ? Entwickelt ACAD in dieser Hinsicht etwas? Gruß Kenny1.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 01. Jul. 2004 07:57 <-- editieren / zitieren --> Unities abgeben: Nur für Kenny1
|
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 02. Jul. 2004 00:53 <-- editieren / zitieren --> Unities abgeben: Nur für Kenny1
Tja, ich muss hier doch mal ein wenig intervenieren: Bauteile über den Befehl '_box' einfügen? Und dann mit '_solidedit' bearbeiten? Klingt ziemlich unwahrscheinlich. Es gibt Kollegen hier, die würden dir jetzt einen Grundkurs empfehlen. Ich bin eher Optimist und sage: Wenn du bei der Konkurrenz von LEGO arbeitest (ich meine die, die oben auf den Steinen quadratische Noppen anbringen statt der runden - das gibt's ja immerhin als Baukasten für Architekten) - dann hast du eine Chance mit deinem Konzept. Dann kommst du mit "_box" locker aus. > Wichtig: Die Abmessungen der Bauteile sind alle unterschiedlich Wenn das anders wäre, dann wäre LEGO auch recht langweilig;-) Aber immer nur Flachdach und ohne Fenster - und ohne die runden Einer, die immer irgendwo unterm Teppich verschwinden? > Kann man im Acad mit Grips 3D Bauteile ziehen ? Aber klar, wenn man genug hat... > Entwickelt ACAD in dieser Hinsicht etwas? nee, John Walker hat sich zurückgezogen. Das war der Einzige bei denen, der wirklich Grips hatte. SCNR, Axel
------------------ Meine AutoLisp-Seiten Meine private Homepage Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kenny1 Mitglied
Beiträge: 77 Registriert: 29.06.2004
|
erstellt am: 06. Jul. 2004 08:51 <-- editieren / zitieren --> Unities abgeben:
ja, vom Prinzip her ist es ne Art Lego. Die Teile werden aneinandergesetzt, wobei die Art und Weise immer unterschiedlich ist. Es gibt lediglich gewisse „Regeln“. Diese sind aber auch nicht immer zwingend. Die Bauteile haben zu 95 % die Geometrie eines Quaders. Ab und an müssen die Bauteile verformt werden, haben aber nie hochkomplexe 3D Formen. Mit „_extrude“ und ein wenig Schneiden kriegt man bei diesen „komplexen“ Teilen alles hin. Weiter müssen die Teile auftragsspezifisch bearbeitet werden : Bohrungen, Ausschnitte, Anschlussfunktionen ect. Eigentlich nichts weltbewegendes. Als Muß-Kriterium gilt noch folgendes : 1. Die Stückliste soll aus der Zeichnung heraus generiert werden. Die „Software“ soll aus kleinen „Makros“ bestehen, woraus ich mir meine Gesamtkonstruktion erstelle. D.h. mehrere kleine Makrofunktionen ergeben meine fertige Gesamtkonstruktion. Danach sollte ein Bauteilliste mit verschiedenen Informationen herausgegeben werden in Excel oder Access. Ist dies machbar ? Wenn ja, wie ? 2. Wenn die Konstruktion erstellt worden ist, kommt der Bedarf an nachträglichen Änderungen ohne komplett neu anzufangen. Ist es möglich diese Makrofunktionen wieder aufzurufen und die Werte neu einzugeben, so das die Grafik ( incl. Stückliste) neu generiert wird ? Da ich noch kein Lisp-Profi bin ( hab lediglich ein paar dieser Makros (halb)fertig ) stellt sich mir auch die Frage, welche Programmierung die richtige ist. VBA, Lisp oder muß es doch C++ sein. Kann man nach diesen wenigen Beschreibungen eine Aussage treffen ? Gruß Kenny1
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9803 Registriert: 01.12.2003 One AutoCAD 2.5 - 2024, AutoCAD, Civil 3D, Win10/Win11
|
erstellt am: 06. Jul. 2004 09:42 <-- editieren / zitieren --> Unities abgeben: Nur für Kenny1
Für die 95% der reinen Quader empfehle ich einen Block aus einem Einheitsquader 1,1,1. Evt. ein paar zusätzliche Attribute anhängen (Artikelnummer, Preis o. ä.) dann mit ATTEXT oder EATTEXT die Blockreferenzen in eine Tabelle exportieren, dabei sind BL:XSCALE, BL:YSCALE und BL:ZSCALE dann Länge, Breite und Höhe. für den Rest (nicht in Blöcken enthaltene 3D-Körper mit Fasen o. ä.) gäbe es dann noch die ActiveX/Vba Methode GetBoundingBox Gruß Udo Hübner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 06. Jul. 2004 10:47 <-- editieren / zitieren --> Unities abgeben: Nur für Kenny1
Ungleich skalierte Blöcke? Da, Udo, bin ich ein bisschen skeptisch, ob ma das machen sollte - es lässt sich ja hinterher nichts mehr dran verändern! Aber ich komme gleich noch mal darauf zurück. Lisp oder VBA? Natürlich ist es vielleicht etwas praktischer, wenn man den Datenbankteil in VBA macht - aber das geht mit Lisp fast genauso, da die ActiveX-Methoden ja auch in Lisp zur Verfügungs stehen. VBA hätte nur eindeutige Stärken, wenn Dialoge usw. ins Spiel kämen. Was viel wichtiger ist: Für das Bearbeiten und Ändern von Volumenkörpern gibt es in keiner der beiden Sprachen direkte Unterstützung. Man ist also darauf angewiesen, die AutoCAD-Befehle zu benutzen! Und da entscheidet sich die Sache eindeutig für Lisp: Die command-Programmierung ist hier deutlich einfacher! Und dann stellt sich natürlich die Frage: Ist es einfacher, ein (command "_-insert" ...) mit Skalierungsfaktoren zu schreiben, oder aber ein (command "_box" ...) mit 3 Seitenlängen? Nimmt sich doch nix - aber im zweiten Fall kann man hinterher noch ein Loch reinbohren oder auch eine Kollisionsprüfung über die ganze Zeichnung fahren. Wenn man fit ist im 3D-Zeichnen mit 3DSolids, dann ist die Programmierung mit command sogar richtig einfach, von ein paar Kleinigkeiten abgesehen: Es ist z.B. nicht möglich, das Gesabbel in der Kommandozeile abzustellen, da hilft kein NOMUTT und gar nix (jedenfalls war das so bei meinen letzten Programmen, die ich in diesem Bereich geschrieben habe - vielleicht hat man in den neueren Versionen doch noch ein Einsehen gehabt). Und man sollte wissen, dass man den Befehlen niemals zu viele Entities auf einmal geben sollte, z.B. bei (subtract ...). 100 subtracts mit je 100 Entities geht ganz fix, ruft man den Befehl einmal auf und übergibt gleich 10000 Entities, kann's Stunden oder Tage dauern. Was den Datenbank-Anschluss angeht: Schreiben einer Excel-Tabelle aus Lisp war hier schon des öfteren Thema - da gibt's Fertiglösungen. Mal hier suchen, und auch beim Wiesel. Gruß, Axel ------------------ Meine AutoLisp-Seiten Meine private Homepage Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kenny1 Mitglied
Beiträge: 77 Registriert: 29.06.2004
|
erstellt am: 19. Jul. 2004 20:47 <-- editieren / zitieren --> Unities abgeben:
Hallo, Das Thema Attribute hat sich für mich erledigt, da ich in der Auswertung der Listen nicht flexibel genug bin. Ebenso ist es ein absolutes Muß-Kriterium, das ich in die Teile nach ein Loch, ein Ausschnitt ect. hineinbekomme. Muß ich wohl den Weg über Lisp versuchen. Momentan tendiere ich stark zum Lisp. Die AutoCAD-Nähe ist genau das, was ich als den großen Vorteil ansehe und mag. Man kann alles in „command“ reinpacken. Mit VBA habe ich mich noch nicht so intensiv beschäftigt. Wie stark ist denn Lisp eingeschränkt in der Gestaltung der Masken ? Kann man Grafikdateien einbinden ? Kann man Bibliotheken ansteuern ? Damit meine ich, wenn ich eine Konfiguration erstellt habe, dann möchte ich vielleicht „diesem Dingen“ einen Namen geben, weil es ein „Standard“ ist und ich es beim nächsten Mal laden möchte ? Wenn ich das Material im nachhinein ändern möchte, kann ich dies über „Auftragsspezifische Variablen“ erledigen, ohne das ich alles neu hinstellen muß ? Kann man da eine Art „Neu-Generier-funktion“ erstellen ? Dann zur Ausgabe noch ein paar Fragen : Ist es in Lisp möglich, Baugruppen über Macros einzufügen und im nachhinein in der Zeichnung diese als Position zu gruppieren, die dann in der Stücklisten auf Wunsch gruppiert ausgegeben werden ?. Kann man sich die Ausgaben der verschiedenen Listen so konfigurieren, das nur ein Button notwendig ist. ( Die Oberfläche soll sehr einfach sein...). Bei den Attributen habe ich diesen Wizzard, wo man nicht alles direkt verknüpfen kann. Dann eine für heute abschließende, vielleicht auch zum Nase rümpfende Frage : Ist es in der Acad-Oberfläche möglich eine Excel – Tabelle „anzudocken“ ( ähnlich dem Eigenschaftsmanager oder den schönen Paletten). Diese könnte man ja ideal zur Bibliotheksverwaltung von Standards nutzen. Gruß Kenny1
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|