| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Brühl und CIDEON: Synergien schaffen Wettbewerbsvorteile , ein Anwenderbericht
|
Autor
|
Thema: Programmierung zum Zeichnen externer Elemente (677 mal gelesen)
|
achim8 Mitglied Ingenieur
Beiträge: 13 Registriert: 22.12.2006 AMD Athlon(tm)XP2200+, 512 MB RAM, Windows XP pro, AUTOCAD 2004, Microstation V8, MS Office 2000
|
erstellt am: 22. Dez. 2006 13:53 <-- editieren / zitieren --> Unities abgeben:
Hallo, nachdem ich mich auf den gängigen AutoCad-Seiten umgesehen habe, gibt es zwar einige Ansatzpunkte für mein Problem, aber vielleicht komme ich hier auf dem direkten Weg zu einer effizienteren Lösung. Ich suche ein Tool, mit dem man einfache geometrische Elemente (Linie, Polylinie, Rechtecke, Kreise, Bögen) und einfache Texte (räumlich platziert oder verknüpft) anhand von Koordinaten und Elementparametern aus einer Datenbank (Access o.ä.) in eine vorhandene dwg-Zeichnung (2004) einfügen kann. Wer kann mir helfen oder hat einen ähnlichen Tool, den man anpassen kann. Alternativ: was würdet Ihr empfehlen: LISP, VBA oder Programmierung als arx. Ich freue mich auf das Weihnachtsgeschenk von Euch und wünsche allen ein frohes Fest und einen guten Rutsch. MfG Achim
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 22. Dez. 2006 14:01 <-- editieren / zitieren --> Unities abgeben: Nur für achim8
guck dir mal (unter Lisp ) die entmake-Funktion an Bsp: (entmake'((0 . "LINE")(100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0")(62 . 1) (100 . "AcDbLine") (10 -25.0 25.0 0.0) (11 50.0 10.0 0.0) (210 0.0 0.0 1.0))) erzeugt eine rote Linie auf Layer 0 im Modellbereich zwischen den Punkten -25,25 / 50,10 In ActiveX und damit in VBA gehts natürlich auch.. und in arx noch viel mehr. (Ich persönlich ziehe Lisp vor..) Ist also machbar.Auch aus ner Datenbank usw. Wie weit biste denn schon? Wo hakt es? (P.S. Ein Komplett-Tool im Rahmen einer Forenhilfe wird es wohl in der Form nicht geben, auch wenn bald Weihnachten ist ) ------------------ - 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 |
Theodor Schoenwald Ehrenmitglied
Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 22. Dez. 2006 22:13 <-- editieren / zitieren --> Unities abgeben: Nur für achim8
|
achim8 Mitglied Ingenieur
Beiträge: 13 Registriert: 22.12.2006 AMD Athlon(tm)XP2200+, 512 MB RAM, Windows XP pro, AUTOCAD 2004, Microstation V8, MS Office 2000
|
erstellt am: 27. Dez. 2006 14:15 <-- editieren / zitieren --> Unities abgeben:
Hallo, das habe ich fast erwartet, aber einen Versuch war es ja wert. Zur Sache: Stand ist im Prinzip = 0, d.h. Idee, Wunsch und Ziel vorhanden, keine Programmierpraxis, außer einigen Makros, die ich mal nach der try and error+Hilfe-Methode für Excel (VBA) bzw. ArcView (Avenue) geschrieben bzw. bearbeitet habe. Ich bin Planungsingenieur mit langjähriger CAD-Erfahrung, insbesondere Microstation V8. Da aber AutoCad verbreiteter ist und V8 auch gut mit dwg arbeiten kann, habe ich AutoCad als Ausgangspunkt für die Aufgabe gewählt. Da ich bisher außer dem Grundverständnis für die Programmierung keine Voraussetzungen habe und mich neu einarbeiten muss, ist es für mich mit entscheidend, womit die Programmierung vorgenommen wird. Wenn ich Eure Antworten richtig interpretiere, ist das so ziemlich egal. Dann würde ich am liebsten VB arbeiten, da diese Sprache am universellsten ist und mit verschiedenster Standardsoftware (so z.B. auch mit V8) angewendet werden kann. Da das Programm ausbaufähig und variabel anwendbar, später vielleicht sogar unabhängig von AutoCad lauffähig (geht das?) sein sollte, gehe ich davon aus, dass das Programm compiliert werden muss und einfache Scriptdateien dann nicht unbedingt geeignet sind. Sollte sich aus Eurer Erfahrung eine andere Einschätzung ergeben, wäre das für mich sehr wichtig. MfG Achim P.S. Einen lauffähige Grundsatzlösung würde ich mir wahrscheinlch auch ein paar Hunderter kosten lassen. Ich hoffe, dass das hier nicht als unverschämt angesehen wird?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
achim8 Mitglied Ingenieur
Beiträge: 13 Registriert: 22.12.2006 AMD Athlon(tm)XP2200+, 512 MB RAM, Windows XP pro, AUTOCAD 2004, Microstation V8, MS Office 2000
|
erstellt am: 08. Jan. 2007 19:13 <-- editieren / zitieren --> Unities abgeben:
|
Andreas Widmann Mitglied ATHENA Support/Training
Beiträge: 218 Registriert: 24.08.2005
|
erstellt am: 08. Jan. 2007 19:20 <-- editieren / zitieren --> Unities abgeben: Nur für achim8
|
Geos Mitglied Vermessungstechniker i.R.
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: 09. Jan. 2007 07:22 <-- editieren / zitieren --> Unities abgeben: Nur für achim8
|
achim8 Mitglied Ingenieur
Beiträge: 13 Registriert: 22.12.2006 AMD Athlon(tm)XP2200+, 512 MB RAM, Windows XP pro, AUTOCAD 2004, Microstation V8, MS Office 2000
|
erstellt am: 09. Jan. 2007 16:45 <-- editieren / zitieren --> Unities abgeben:
Danke, die Ergänzung des Scripts mit den Befehlen CMDECHO und 0 funktioniert so nicht, da eine Option zur Weiterführung des Funktionsbefehls erwartet wird und immer wiederholt wird, außer bei Esc-Eingabe. Hier Scriptmuster: -layer N a017 FA 1 a017 L Continuous a017 N a003 FA 2 a003 L Continuous a003 N a018 FA 3 a018 L Continuous a018 N a009 FA 4 a009 L Continuous a009 N a016 FA 5 a016 L Continuous a016 N a011 FA 6 a011 L Continuous a011 N a019 FA 7 a019 L Continuous a019 N a008 FA 8 a008 L Continuous a008 CMDECHO 0 Idee oder Hinweis? Achim ------------------ www.ilu-plan.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
achim8 Mitglied Ingenieur
Beiträge: 13 Registriert: 22.12.2006 AMD Athlon(tm)XP2200+, 512 MB RAM, Windows XP pro, AUTOCAD 2004, Microstation V8, MS Office 2000
|
erstellt am: 09. Jan. 2007 16:52 <-- editieren / zitieren --> Unities abgeben:
|
Andreas Widmann Mitglied ATHENA Support/Training
Beiträge: 218 Registriert: 24.08.2005
|
erstellt am: 09. Jan. 2007 18:27 <-- editieren / zitieren --> Unities abgeben: Nur für achim8
Wenn ich das richtig verstehe, hört dein Script auf AutoCad zu füttern und AutoCad bleibt bei der Koordinateneingabe und wartet, richtig? Dann müsste da sowas stehen, wie das hier: "Nächsten Punkt angeben oder [Zurück]:" Jetzt weis ich nicht ob das bei nem Script geht, aber kannst du einfach ein Leerzeichen anstatt einem Koordinatenwert angeben? Denn Autocad würde dieses Leerzeichen dann genauso wie ein "Enter" werten und damit die Funktion beenden. ------------------ Gruß Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 09. Jan. 2007 18:43 <-- editieren / zitieren --> Unities abgeben: Nur für achim8
In einem Script zählt (vereinfacht) gesagt: *ein LEERZEICHEN als Enter oder/und *ein ZEILENUMBRUCH als Enter ! "vereinfacht" deswegen weil ein Leerzeichen auch als Textwert (also wirklich ein Leerschlag) interpretiert werden kann, etwa bei der Textwert-Eingabe von einem TEXT oder MTEXTobjekt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
achim8 Mitglied Ingenieur
Beiträge: 13 Registriert: 22.12.2006 AMD Athlon(tm)XP2200+, 512 MB RAM, Windows XP pro, AUTOCAD 2004, Microstation V8, MS Office 2000
|
erstellt am: 10. Jan. 2007 22:26 <-- editieren / zitieren --> Unities abgeben:
|