| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Linientyp in der ganzen Zeichnung ersetzen (2324 mal gelesen)
|
autocart Mitglied Technischer Redakteur
Beiträge: 695 Registriert: 08.09.2003
|
erstellt am: 26. Nov. 2010 14:25 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute! Bei mir soll ein Linientyp in der ganzen Zeichnung durch einen anderen ersetzt werden. Das könnte ich zwar über die CAD-Standards machen, aber es sind mehrere Linientypen betroffen und das soll alles automatisch über eine Mappingtabelle gehen (beim CAD-Standards-Tool muss ich immer für jeden Linientyp einen Ersatzlinientyp händisch wählen). So weit so gut. Das Problem ist, dass ich davon ausgehen muss, dass beide Linientypen (der, der ersetzt werden soll, sowie der andere, durch den ersetzt wird) bereits in der Zeichnung vorhanden und referenziert sind. Daher bleibt mir nichts anderes übrig, als alle Referenzen auf den "alten" Linientyp in der gesamten Zeichnung zu finden und (ev. mit entmod) durch Referenzen auf den "neuen" Linientyp auszutauschen. Der "alte" Linientyp soll danach übrigens gelöscht werden. Frage: Wie würdet ihr es am besten angehen, mit AutoLISP (oder wenns nicht anders geht auch mit .NET) die ganze Zeichnung nach dem "alten" Linientyp zu durchkämmen und die entsprechenden Elemente zu ändern? Danke, danke und danke für jeden Hilfeversuch. ------------------ Gruß, Stephan www.stbartl.at "Alles sollte so einfach wie möglich gemacht werden, aber nicht einfacher." - Albert Einstein [Diese Nachricht wurde von autocart am 26. Nov. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 26. Nov. 2010 16:01 <-- editieren / zitieren --> Unities abgeben: Nur für autocart
Zitat: Original erstellt von autocart: ...Frage: Wie würdet ihr es am besten angehen, mit AutoLISP (oder wenns nicht anders geht auch mit .NET) die ganze Zeichnung nach dem "alten" Linientyp zu durchkämmen und die entsprechenden Elemente zu ändern? ...
Hallo, im Grunde ist es doch egal, in welcher Programmiersprache du das Thema angehst. Es ist am Ende in jedem Fall schneller, als bei einer Änderung von Hand. Aber um Deine Frage zu beantworten: Ich würde es in C#.Net machen. Ist in der Anwednung schneller und mit der Programmierung ist man genausoschnell fertig. Bei Fragen ...
Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen. defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
autocart Mitglied Technischer Redakteur
Beiträge: 695 Registriert: 08.09.2003
|
erstellt am: 26. Nov. 2010 17:44 <-- editieren / zitieren --> Unities abgeben:
Danke, Holger, für die Antwort am späten Freitag Nachmittag. Das mit der Programmiersprache war aber nur ein Nebengedanke. Meine Hauptfrage ist: Wie gehe ich es grundsätzlich an, dass ich mit möglichst wenig Aufwand möglichst sicher alle in der Zeichnung vorhandenen Referenzen auf den Linientyp erwische. Es gibt ja so viele Orte, an denen ein Linientyp referenziert sein kann. Und wie soll ich am besten mit der Möglichkeit umgehen, dass eine Referenz auf den Linientyp vielleicht auch in div. benutzerdefinierten (extension) Dictionaries vorkommen kann. Bin mir z.Z. nicht ganz sicher, wie ich da für jeden Fall sicherstellen kann, dass die Referenz ausgetauscht wird. Vielleicht gibt es ja bereits Code oder Ansätze, die etwas ähnliches machen. Oder vielleicht übersehe ich irgentwelche einfachere Möglichkeiten als selbst alle Orte in der Datenbank einzeln finden und abfragen zu müssen. Noch dazu könnten da bei jeder Autocad-Version neue Orte in der DB dazukommen. ------------------ Gruß, Stephan www.stbartl.at "Alles sollte so einfach wie möglich gemacht werden, aber nicht einfacher." - Albert Einstein Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 29. Nov. 2010 07:31 <-- editieren / zitieren --> Unities abgeben: Nur für autocart
... dann versuch doch erst einmal den einfachsten Weg. Der Linientyp ist ja zunächst mal als Stil zu betrachten. Folglich sollte es genügen, wenn du den Stil manipulierst .. dort also die neue Linientyp-Datei zuweist. Danach (von mir aus auch davor) kannst du ja den Stil umbenennen und fertig ist die Kiste bei minimalsten Aufwand. Funktionieren wird das allerdings nur, wenn der neue Linientyp nicht schon in der Zeichnung verwandt wird. Ansonsten gibt's wirklich nur den Weg, dass du an alles denken musst, was einen Linientyp referenzieren könnte und dort dann eben die´notwendigen Änderungen vornehmen. Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen. defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Wolfgang S Mitglied CADaver
Beiträge: 270 Registriert: 06.03.2006 AC 2009, C3D 2009, AC 2010, C3D 2010, AC 2011, C3D 2011, RVT 2010, RVT 2011, ASD 2011 und alles darunter bis R14 + Win XP, Win XP64, Win 7/64
|
erstellt am: 29. Nov. 2010 08:22 <-- editieren / zitieren --> Unities abgeben: Nur für autocart
Grüß Euch! Ich bin dieses Problem schon einmal angegangen. folgende Hinweise: - XREF-Linientypen beachten, evt. mit Switch im Programm, Namenssuche mit dem *|* - Layer Linetypes ändern - alle 'losen' Elemente mit LT=/ByLayer oder ByBlock und mit dem gesuchten LT - alle Blockdefinitionen die nicht xrefabhängig sind durchgehen - alle Attribute durchgehen -> SEQEND-Layer - alle Blockreferenzen durchgehen -> SEQEND-Layer ich hab bei mir gleich mal den falschgeschriebenen Continous-Linetype und den AUSGEZOGEN Linientyp mit bearbeitet. alte Polylines hab ich nicht, das wäre evt. auch interessant bez. SEQEND weiters habe ich bei mir dann nochmal alle Linetypes nachgeladen, war aber noch ein größerer Umfang der von dem Proggi abgearbeitet wurde. lg Wolfgang
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|