| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Block 15196 mal einfügen (3163 mal gelesen)
|
Absalon Mitglied
Beiträge: 41 Registriert: 03.02.2010 AutoCAD 2010
|
erstellt am: 17. Feb. 2010 08:23 <-- editieren / zitieren --> Unities abgeben:
Schönen guten Morgen! Ich kaue immer noch an "meinem" Raster, kann nun aber meine Aufgabe spezifischer darstellen. Ich möchte einen von mir erzeugten Block 15196 mal auf von mir festgelegten Koordinaten (also an 15196 unterschiedlichen Punkten) in einer Zeichnung einfügen. Eine Liste der Koordinaten besitze ich schon. Der Block soll beim Einfügen nicht gedreht oder skaliert werden. Kann ich diesen Prozess automatisieren oder kann ich mich auf mehrere Tage Koordinaten-Eingabe freuen? Am besten wäre es natürlich, wenn ich zusätzlich neben dem Block den X- und Y-Wert an einer von mir festgelegten Position (inkl. definierter Schriftart, Strichdicke etc.) direkt einblenden kann. Scripte funktionieren wahrscheinlich nicht oder nicht gut?! Geht es in Richtung LISP? Ich freue mich über Hilfe! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 17. Feb. 2010 08:24 <-- editieren / zitieren --> Unities abgeben: Nur für Absalon
|
Dig15 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. für Markscheidewesen und Geodäsie
Beiträge: 5833 Registriert: 27.02.2003 DWG TrueView 2014
|
erstellt am: 17. Feb. 2010 08:29 <-- editieren / zitieren --> Unities abgeben: Nur für Absalon
Da ich im Gegensatz zu Thomas (CADmium) keine Ahnung von Lisp habe, würde ich es per Script machen. Die Koordinaten würde ich als Attribute an den Block anfügen und beim Einfügen in die Zeichnung gleich mit ausfüllen lassen. Wenn Du die Attribute auch noch auf einen Extra Layer legst, kannst Du sie unabhängig von der Blockdarstellung ein- bzw. ausblenden. ------------------ Viele Grüße Lutz Glück Auf! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Absalon Mitglied
Beiträge: 41 Registriert: 03.02.2010 AutoCAD 2010
|
erstellt am: 17. Feb. 2010 08:33 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 17. Feb. 2010 08:36 <-- editieren / zitieren --> Unities abgeben: Nur für Absalon
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 17. Feb. 2010 08:39 <-- editieren / zitieren --> Unities abgeben: Nur für Absalon
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 17. Feb. 2010 08:44 <-- editieren / zitieren --> Unities abgeben: Nur für Absalon
|
Absalon Mitglied
Beiträge: 41 Registriert: 03.02.2010 AutoCAD 2010
|
erstellt am: 17. Feb. 2010 08:45 <-- editieren / zitieren --> Unities abgeben:
Hallo! Hier hagelt es ja fast schon antworten. Super! Koordinaten als Attribute finde ich gut. Aber wie soll das per Script funktionieren? Der Befehl "Einfüge" lässt ja mal ein schönes Eingabefenster erscheinen, welches nicht per Script bedient wird. Oder doch? Oder welcher Befehl wäre hilfreicher? Im übrigen befürchte ich ja beim Schreiben eines Skripts, dass ich vor jedem Koordinatenpaar den jeweiligen Befehl eingeben muss. Auch 15196 mal... Zitat: Original erstellt von Dig15: Da ich im Gegensatz zu Thomas (CADmium) keine Ahnung von Lisp habe, würde ich es per Script machen. Die Koordinaten würde ich als Attribute an den Block anfügen und beim Einfügen in die Zeichnung gleich mit ausfüllen lassen. Wenn Du die Attribute auch noch auf einen Extra Layer legst, kannst Du sie unabhängig von der Blockdarstellung ein- bzw. ausblenden.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dig15 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. für Markscheidewesen und Geodäsie
Beiträge: 5833 Registriert: 27.02.2003 DWG TrueView 2014
|
erstellt am: 17. Feb. 2010 08:45 <-- editieren / zitieren --> Unities abgeben: Nur für Absalon
Zitat: Original erstellt von CADmium: Das macht schon ATTMODE
Ja, da hast Du recht. Ich bin mal wieder von meinen Anforderungen ausgegangen. Kommt eben immer darauf an, wie die Daten vorliegen und was man damit vor hat. Wir haben eine zeitlang unsere Vermessungspunkte per Script eingelesen. Ein Block mit mehreren Attributen (X,Y,Z,Punktnummer,Code). Der Code legte gleichzeitig den Layer fest. Jedes Attribut hat seinen eigenen Layer. Ich will doch nicht die Koordinaten sehen, wenn mich bloß die Höhe interessiert. Über Script war das sicherlich wesentlich umständlicher als per Lisp. Aber es hat funktioniert. Nachtrag: @Absalon: im Excel kann man viel automatisieren und daraus ein script erstellen. Ich habe zwar nie so viele Punkte am Stück eingelesen, aber notfalls geht das ja auch in zwei, drei Teilen. ------------------ Viele Grüße Lutz Glück Auf! [Diese Nachricht wurde von Dig15 am 17. Feb. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 17. Feb. 2010 08:53 <-- editieren / zitieren --> Unities abgeben: Nur für Absalon
|
Ex-Mitglied
|
erstellt am: 17. Feb. 2010 08:58 <-- editieren / zitieren -->
Hi, ich hätte auch Script gewählt, jedoch bei den Attributen nicht per Eingabe die X- und Y-Koordinaten ausgefüllt, sondern die Blockdefintion gleich mit Schriftfeldern gemacht, damit beschriftet sich der Block selbst (wobei ich bis jetzt noch nicht getestet habe, wie lange 15000 Schriftfeldaktualisierungen dauern). - alfred - ------------------ www.hollaus.at |
Absalon Mitglied
Beiträge: 41 Registriert: 03.02.2010 AutoCAD 2010
|
erstellt am: 17. Feb. 2010 09:04 <-- editieren / zitieren --> Unities abgeben:
|
Absalon Mitglied
Beiträge: 41 Registriert: 03.02.2010 AutoCAD 2010
|
erstellt am: 17. Feb. 2010 09:08 <-- editieren / zitieren --> Unities abgeben:
Das sieht sehr hilfreich aus! Ich werde mich mal über das verlinkte Beispiel an mein Problem heranhangeln und berichten, wie weit ich damit gekommen bin. Dankesehr! Zitat: Original erstellt von cadffm: Wozu ??? Der passende Block und ein Script, fertig !? schau mal hier zB: [b]Beispiel[/B]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 17. Feb. 2010 09:14 <-- editieren / zitieren --> Unities abgeben: Nur für Absalon
|
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: 17. Feb. 2010 13:50 <-- editieren / zitieren --> Unities abgeben: Nur für Absalon
|
bikerholic Mitglied Bauzeichner Straßenbau
Beiträge: 123 Registriert: 06.02.2009 XP Professional SP2 Intel Pentium x86 2.40GHz 1GB-Ram, Maxtor 60GB NVIDIA GeForce4 MX 420 mit 64MB AutoCAD 2005&2008&2010(Civil3D)+SP2+Expresstools google und ich san beste freunde ;)
|
erstellt am: 18. Feb. 2010 13:50 <-- editieren / zitieren --> Unities abgeben: Nur für Absalon
servus absalon ich hab mal gegoogelt und für dein problem ein beispiel in VBA gefunden vieleicht ist das was für dich gugst du --> hier gruß björn
------------------ Wenn Arbeit etwas schoenes und erfreuliches waere, haetten die Reichen sie nicht den Armen ueberlassen. [Paul Lafargue] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ktww Mitglied
Beiträge: 414 Registriert: 10.08.2009
|
erstellt am: 18. Feb. 2010 20:26 <-- editieren / zitieren --> Unities abgeben: Nur für Absalon
Hallo Absalon! Ich würde an deiner stelle die Blöcke über ein script einfügen und folgendermaßen vorgehen: - Bau Dir im Exel aus jedem Koorinatenpunkt (x,y) eine Scriptzeile Ich habs dir in der angehängten xls-Tabelle gezeigt wies geht. - Kopier die Spalte in einen Texteditor und speichere das ganze mit der Endung *.scr ab. - Ruf im Autocad mit dem Befehl "script" das script auf autocad fügt überall die Blocke ein mit den Koorinaten als Attribut In der angehängten DWG hab ich eine Testblock definert Bei der Menge an Blocken die Du hast wird das einfügen eine Zeit dauern, Probiers am Anfang mit wenigen Punkten. Wie schnell dann das aktualisieren geht und ob Autocad recht langsam ist weiss ich nicht. Vielleicht könntest Du darüber berichten. Wichtig ist, das Du, wenn Du den Block verschiebst, einmal "regen" startest damit die Koordinaten aktualisiert werden. Hoffe es hilft ktww Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ktww Mitglied
Beiträge: 414 Registriert: 10.08.2009 Win 7 Pro. SP1 Intel Core i7 CPU, 16GB Ram AEC -> civl3d 2023.2
|
erstellt am: 18. Feb. 2010 21:19 <-- editieren / zitieren --> Unities abgeben: Nur für Absalon
Hallo nochmal! Ich habs mit den vorigen Block probiert und ihn ca. 15000 mal eingefügt. Durch die Attribute, welche automatisch und dynamisch die Koordinaten einblenden, wird das ganze extrem langsam und stürzt sofort ab. Darum hab ich den Block und das Script nochmals umgebaut. Jetzt ist es ein normales Attribut in dem beim Einfügen die Koordinaten des Blocks einmalig reingeschrieben werden. Die Werte aktualisieren sich nicht automatisch (im Gegensatz zum ersten), dafür sind jetzt aber 15000 Blöcke kein Problem. Schöne Grüße Christoph [Diese Nachricht wurde von ktww am 18. Feb. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thors-hammer Mitglied technischer Angestellter
Beiträge: 19 Registriert: 25.10.2006 AutoCAD 2009
|
erstellt am: 19. Feb. 2010 12:48 <-- editieren / zitieren --> Unities abgeben: Nur für Absalon
bei der scriptdatei ist es auch wichtig, das die systemvariable OSMODE (ofang) auf null gesetzt ist. denn wenn zufällig der ofang auf zentrum und/oder basispunkt gestellt ist, werden objekt im unmittelbaren fangbereich ausgewählt und der block am falschen punkt eingefügt. und dann hat man um sonst auf 15000 blöcke gewartet! beste grüße Manuel
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 19. Feb. 2010 13:08 <-- editieren / zitieren --> Unities abgeben: Nur für Absalon
|
thors-hammer Mitglied technischer Angestellter
Beiträge: 19 Registriert: 25.10.2006 AutoCAD 2009
|
erstellt am: 22. Feb. 2010 07:24 <-- editieren / zitieren --> Unities abgeben: Nur für Absalon
danke cadffm OSNAPCOORD kannte ich noch garnicht in der hilfe steht Zitat: Steuert, ob in der Befehlszeile eingegebene Koordinaten fortlaufende Objektfänge außer Kraft setzen
funktioniert dies denn auch bei lisp programmen? betse grüße Manuel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thors-hammer Mitglied technischer Angestellter
Beiträge: 19 Registriert: 25.10.2006 AutoCAD 2009
|
erstellt am: 22. Feb. 2010 07:33 <-- editieren / zitieren --> Unities abgeben: Nur für Absalon
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 22. Feb. 2010 08:40 <-- editieren / zitieren --> Unities abgeben: Nur für Absalon
|
| |
Absalon Mitglied
Beiträge: 41 Registriert: 03.02.2010 AutoCAD 2010
|
erstellt am: 22. Feb. 2010 14:43 <-- editieren / zitieren --> Unities abgeben:
|