| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: script zur Bereinigung von Export DXF/DWG (2769 mal gelesen)
|
Kodat Mitglied Architekt
Beiträge: 310 Registriert: 27.01.2004 Intel CoreI 5/750 16GB Ram , W7Prof. 64bit Nvidia Quadro 2000 AC 2012 / RAC 2012.sp2
|
erstellt am: 18. Okt. 2011 08:51 <-- editieren / zitieren --> Unities abgeben:
Hallo. Wir nutzen Revit Architecture. Wenn ich dort den Plan in ein DWG exportiere kommt die Bemassung nicht richtig in AC an. Also gibt es einen Umweg über den DXF Export. Trotzdem muss ich die erzeugte Datei bearbeiten damit bei den externen Firmen alles so wie im gedruckten PDF angezeigt wird. Da Ihr ja in AC die Profis für lisp oder sripts seid hab ich eine Bitte. Ich benötige ein script oder auch lisp. In der txt habe ich die Schritte eingefügt die wir machen um die Datei zu säubern, zu bereinigen etc. Wie kann ich das nun in ein script einbinden. Es würde für mich echt zu lange dauern mich da einzu lesen. Kann mir da jemand helfen. ------------------ Vielen Dank für jeden Hinweis. Carsten [Diese Nachricht wurde von Kodat am 18. Okt. 2011 editiert.] [Diese Nachricht wurde von Kodat am 18. Okt. 2011 editiert.] [Diese Nachricht wurde von Kodat am 18. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 18. Okt. 2011 11:43 <-- editieren / zitieren --> Unities abgeben: Nur für Kodat
Zu deiner Anleitung im Anhang: "Export in ACAD 2007" => Vorarbeit"Zeichnung in ACAD 2012 öffnen" => Das macht man 1x und lässt dann ein Batchprogramm laufenwelches nacheinander die ausgewählten Dateien durchläuft: öffnen, abarbeitet, schließen. *SCRIPTPRO von AutoDesk (ist super, nur leider durch ungewöhnliche Arbeitsweise sehr langsam) * SCC2 von CADwiesel.de, einfaches Lispprogramm welches im SDI-Modus ein Script pro Datei ausführt. und ab hier kann man ein Lisp/Script einsetzen: vorab zB. Befehl _.MODEL (um in den Modellbereich zu wechseln) zu1) Das kann man zwar so machen, besser ist aber wenn du sagst welcher Textstil bearbeiteet werden soll, als "aktueller Textstil" könnte ja auch mal ein anderer/falscher eingestellt sein, oder !? zu2.+3.) Dafür braucht man dann doch 10Zeilen Lisp - Nur kurz um sicher zu gehen: Du willst Nicht-BeschriftungsMTexte in TEXT umwandeln ? WARUM ABER soll denn MText welcher kein Beschriftungsobjekt darstellt in ein TEXTobjekt umwandeln ?? Du willst Nicht-BeschriftungsBemsßungsobjekte 'kaputt' machen ! WARUM ABER soll denn die Bemaßung welche kein Beschriftungsobjekt darstellt 'kaputt' gemacht werden ?? zu4.) Zum Beispiel die Befehlsfolge: _.-PURGE _all * _n _.-PURGE _regapp * _n _.-PURGE _all * _n zu 5.) Zum Beispiel die Befehlsfolge: _saveas 2010 _yes ------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) [Diese Nachricht wurde von cadffm am 18. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kodat Mitglied Architekt
Beiträge: 310 Registriert: 27.01.2004 Intel CoreI 5/750 16GB Ram , W7Prof. 64bit Nvidia Quadro 2000 AC 2012 / RAC 2012.sp2
|
erstellt am: 18. Okt. 2011 12:15 <-- editieren / zitieren --> Unities abgeben:
Hallo. Erstmal Danke. Da ist ja noch einiges zu klären. Dieses Lisp oder script soll einfach ausführbar sein da mehrere nicht so versierte User das erledigen sollen. Eigentlich sollte Die exportierte Datei von Revit als DWG korrekt sein. Es kommt noch das Problem hinzu das in Revit die Bemassung als Architekturbemassung erstellt wird , wo AC selbst ja ein Problem hat. Wir lösen also die komplette DWG auf um die gleich Optik wie im PDF zu erhalten. Die Externen lege auch unsere Daten zu Grunde um Konstruktionspläne zu erstellen. zu 1) Ich weiss nicht wie viele verschiedene Textstile auftauchen. deshalb alle umstellen. zu 2+3) Ich möchte einfach nur sicher gehen das alle Texte in einen anderen, bzw, allgemeinen Font umgestellt werden den jeder hat. Wir verwenden in Revit den Font Univers den wir nicht mitgeben dürfen. Dieser ist aber ähnlich wie Arial Narrow. Mir ist egal ob die Bemassungen "kaputt" sind. Der Externe muss dann eben ein paar Masse neu setzten. unsere Planung ist Grundlage. zu4+5) ok, so muss es dann sein. Mir wäre echt geholfen wenn ich das über einen Knopf erledigen kann. Ich hatte mir mal eine kleine Sammlung von Icons + Tools erstellt die ich einfach ergänzen möchte. SO. Ich hoffe jetzt ist es verständlich und nicht so viel Arbeit für Dich. Schonmal Danke im vorraus.
------------------ Vielen Dank für jeden Hinweis. Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
neurosis Mitglied dipl.ing.
Beiträge: 224 Registriert: 22.08.2006
|
erstellt am: 18. Okt. 2011 12:21 <-- editieren / zitieren --> Unities abgeben: Nur für Kodat
|
Kodat Mitglied Architekt
Beiträge: 310 Registriert: 27.01.2004 Intel CoreI 5/750 16GB Ram , W7Prof. 64bit Nvidia Quadro 2000 AC 2012 / RAC 2012.sp2
|
erstellt am: 18. Okt. 2011 12:36 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 18. Okt. 2011 12:58 <-- editieren / zitieren --> Unities abgeben: Nur für Kodat
2 Bier für Dinge wie: 'Wir lösen also die komplette DWG auf um die gleich Optik wie im PDF zu erhalten.''Mir ist egal ob die Bemassungen "kaputt" sind.'Sorry aber sowas unterstütze ich nicht wirklich - zumal ich sicher die nächsten Jahrzente nicht nach Essen kommen werde ) Jedem Textstil die gleiche Schriftart zuordnen finde ich auch nicht prickelnd. hoffe für dich das sich noch jmd. meldet. ------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3336 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 18. Okt. 2011 13:21 <-- editieren / zitieren --> Unities abgeben: Nur für Kodat
Hi, Zitat: Original erstellt von cadffm: 2 Bier für Dinge wie:...
Achwas. Ich meine, hier kommt's allein auf die Größe an. Ab 2x 50 Liter aufwärts wird's für den einen oder andern vielleicht tatsächlich interessant. Gruß CADchup
------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 18. Okt. 2011 13:26 <-- editieren / zitieren --> Unities abgeben: Nur für Kodat
|
neurosis Mitglied dipl.ing.
Beiträge: 224 Registriert: 22.08.2006
|
erstellt am: 18. Okt. 2011 13:32 <-- editieren / zitieren --> Unities abgeben: Nur für Kodat
|
Kodat Mitglied Architekt
Beiträge: 310 Registriert: 27.01.2004 Intel CoreI 5/750 16GB Ram , W7Prof. 64bit Nvidia Quadro 2000 AC 2012 / RAC 2012.sp2
|
erstellt am: 18. Okt. 2011 14:25 <-- editieren / zitieren --> Unities abgeben:
Hallo. Also das finde ich jetzt aber schwach. Grundsätzlich wollte ich mich damit auch nicht befassen, aber leider ist das die Praxis. Anstatt hier mal einen kleinen Lösungsansatz zu posten damit ich mich selber durchwuseln kann,... leider nicht. Ich hab nun mal nicht die notwendigen Kenntnisse in scripts und lisp Bearbeitung. Schade. ------------------ Vielen Dank für jeden Hinweis. Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 18. Okt. 2011 14:45 <-- editieren / zitieren --> Unities abgeben: Nur für Kodat
Den Anfang hast du ja und wenn man deine ersten Angaben umsetzen möchte dann würde man für die Schriftart zB. nachstehende Befehlsfolge nutzen, aber was den Punkt betrifft hast du die Anforderungen ja geändert ! ;;;=========ScriptSTART=============== _.-STYLE
"ARIAL NARROW" ;;;==============END=============== Die Anno-Info an MText und 'gedrehte Bemaßung' -Objekten löschen würde zB damit gehen: (if (setq AWS (ssget "_X" '((-4 . "<or")(0 . "MTEXT")(100 . "AcDbRotatedDimension")(-4 . "or>")))) (foreach ITEM (vl-remove-if 'listp (mapcar 'cadr (ssnamex AWS))) (if(assoc -3 (entget ITEM '("AcadAnnotative"))) (entmod (append(entget ITEM)(list(cons -3 (cons '("AcadAnnotative" ) (vl-remove-if '(lambda(e)(= "AcadAnnotative" (car e))) (cdr(assoc -3 (entget ITEM '("*")))))) ) ) ) ) ) ) ) Und was meine persönliche Auffassung zu "Alles auflösen" und 'mir egal' angeht, das vertrete ich gerne - auch wenn es nicht jedem gefällt.
------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kodat Mitglied Architekt
Beiträge: 310 Registriert: 27.01.2004 Intel CoreI 5/750 16GB Ram , W7Prof. 64bit Nvidia Quadro 2000 AC 2012 / RAC 2012.sp2
|
erstellt am: 18. Okt. 2011 14:49 <-- editieren / zitieren --> Unities abgeben:
Vielleicht kann jemand trotzdem eine Hilfe posten wenn folgenden Befehl eingebe. _qselect Wie werden denn dann die Werte angegeben die ich in der Maske Schnellauswahl auswähle? ------------------ Vielen Dank für jeden Hinweis. Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 18. Okt. 2011 14:59 <-- editieren / zitieren --> Unities abgeben: Nur für Kodat
Die Hilfe und Antwort ist einfach: Das geht nicht Keine Dialogsteuerung in Makro und Script möglich - und da die SAUSWAHL keine Befehlszeilenversion hat: Ende,Aus Es gibt auch sonst keinen Befehl in Acad den du dafür nutzen kannst, außer du nutzt Programmiersprachen, oben ein Beispiel in Lisp - die Kernfunktion was das "Auswählen" angeht ist SSGET . ------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) [Diese Nachricht wurde von cadffm am 18. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 18. Okt. 2011 15:01 <-- editieren / zitieren --> Unities abgeben: Nur für Kodat
Zitat: Original erstellt von Kodat: ... Also das finde ich jetzt aber schwach. ...
Hallo Kodat, was findest du schwach? Ist es, dass dir keiner eine Lösung postet? Falls es das sein sollte, möchte ich dazu folgendes anmerken: Du erwartest eine Lösung für etwas, was sonst nur mit erheblichem Zeitaufwand verbunden wäre, folglich Geld kosten würde. Nur weil hier Profi's im Forum unterwegs sind, heißt das noch lange nicht, dass diese auch verpflichtet sind, eine (die für dich passende) Lösung zu posten. Du findest es doch wohl sicher auch selbstverständlich, dass ein Malermeister dir deine Wohnung nicht kostenlos malert, nur weil er es a) kann und b) schneller ist als du. Selbstverständlich legst du dafür ein paar Scheine auf den Tisch. Anders ist es hier im Forum auch nicht. Das Forum ist eine Diskussionplattform für den Fall, dass man Probleme bei der Programmierung hat. Von dir sind keine Ansätze in dieser Richtung zu erkennen .. von dir ist lediglich beschrieben worden, was ein Tool können soll. 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 |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3336 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 18. Okt. 2011 15:13 <-- editieren / zitieren --> Unities abgeben: Nur für Kodat
|
Kodat Mitglied Architekt
Beiträge: 310 Registriert: 27.01.2004 Intel CoreI 5/750 16GB Ram , W7Prof. 64bit Nvidia Quadro 2000 AC 2012 / RAC 2012.sp2
|
erstellt am: 18. Okt. 2011 15:29 <-- editieren / zitieren --> Unities abgeben:
@ Holger Erstmal erwarte ich hier überhaupt keine fertige Lösung. Ich wollte mir die Arbeit erleichtern. Das war eigentlich mein Ziel. Nachdem ich jetzt einige Kommentare hier zu habe sehe ich das es wohl schwieriger ist. Und zum Thema selbstverständlich: Ich muss ständig irgendwelche Daten für andere aufbereiten weil ich Sie nicht verwenden kann oder weil sich andere nicht bemühen wollen und alles mundgerecht geliefert haben wollen. Dafür bekomme ich/wir auch kein Geld. Das wird einfach von vorrausgesetztdas wir es liefern. Ich kann Dir auch keine Ansätze liefern da ich gar nicht weiss wie ich ansetzen kann. Mein bisheriger Weg war bei 20 DXF Dateien die verschickt werden müssen: Jede einzelne Öfnnen und auf dem Wege bearbeiten wie ich es Anfangs beschrieben hab. Und glaub mir, wir bekommen dafür nichts. @ cadffm wenn ich das nicht im script machen kann ich es nicht lösen. deinen code kann ich auch nur hier kopieren und hoffen das es klappt. meine idee war halt mit dem qselect. @ CADchup ja der umfang war mir einfach nicht klar Dann ist es so das ich auf die bisherige Arbeitsweise zurückgreifen muss. Danke nochmals. Ich wollte bestimmt hier auch keinen verärgern. ------------------ Vielen Dank für jeden Hinweis. Carsten [Diese Nachricht wurde von Kodat am 18. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 18. Okt. 2011 15:40 <-- editieren / zitieren --> Unities abgeben: Nur für Kodat
Zitat: Dafür bekomme ich/wir auch kein Geld. Das wird einfach von vorrausgesetztdas wir es liefern. <> Und glaub mir, wir bekommen dafür nichts.
IHR ärmsten könnt einem echt Leid tun PS: Du kannst meine Lispzeilen mit den "Scriptzeilen" zusammen in einem Script einsetzen, kein Problem ! Script ist nichts anderen wie alles nacheinander in die Befehlszeile schreiben und Lisp kann man direkt in die Befehlszeile eingeben und es wird ausgewertet - daher ist es so einfach in einem Script zu verwenden.
------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) [Diese Nachricht wurde von cadffm am 18. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3336 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 18. Okt. 2011 15:54 <-- editieren / zitieren --> Unities abgeben: Nur für Kodat
Ich zitiere mal lose und sinngemäß: Du musst ständig Daten auf diese Weise aufbereiten? 20 DXF-Dateien auf einmal? Die Konvertierung bleibt bei euch hängen? Und trotzdem willst du jetzt so weitermachen wie bisher? Dann doch lieber ein paar Tage Hirnschmalz investieren oder ein Tool beauftragen, damit man sich auf die eigentlichen Aufgaben konzentrieren kann. Zum QSELECT-Problem gäb's eine Alternative, wenn du es weiterhin über ein einfaches Skript probieren willst: Wenn ihr die Express Tools installiert habt, kommt ihr vielleicht mit SSX weiter. Das ist sozusagen ein Befehlszeilen-Vorläufer der Schnellauswahl. Gruß CADchup
------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kodat Mitglied Architekt
Beiträge: 310 Registriert: 27.01.2004 Intel CoreI 5/750 16GB Ram , W7Prof. 64bit Nvidia Quadro 2000 AC 2012 / RAC 2012.sp2
|
erstellt am: 18. Okt. 2011 16:04 <-- editieren / zitieren --> Unities abgeben:
So. Jetzt hab ich es mal zusammengesetzt, aber es geht nicht. Ich bekomm immer nach Aufruf eine Eingabe angezeigt. Ich denke da hab ich etwas verwechselt. Die Zeichnung ist imer am Anfang im Layout. Siehts so aus ?? ;;;=========ScriptSTART=============== _.MODEL _.-STYLE "ARIAL NARROW" (if (setq AWS (ssget "_X" '((-4 . "<or")(0 . "MTEXT")(100 . "AcDbRotatedDimension")(-4 . "or>")))) (foreach ITEM (vl-remove-if 'listp (mapcar 'cadr (ssnamex AWS))) (if(assoc -3 (entget ITEM '("AcadAnnotative"))) (entmod (append(entget ITEM)(list(cons -3 (cons '("AcadAnnotative" ) (vl-remove-if '(lambda(e)(= "AcadAnnotative" (car e))) (cdr(assoc -3 (entget ITEM '("*")))))) ) ) ) ) ) ) ) _.-PURGE _all * _n _.-PURGE _regapp * _n _.-PURGE _all * _n _saveas 2007 _yes ;;;==============END=============== ------------------ Vielen Dank für jeden Hinweis. Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 18. Okt. 2011 16:09 <-- editieren / zitieren --> Unities abgeben: Nur für Kodat
|
Kodat Mitglied Architekt
Beiträge: 310 Registriert: 27.01.2004 Intel CoreI 5/750 16GB Ram , W7Prof. 64bit Nvidia Quadro 2000 AC 2012 / RAC 2012.sp2
|
erstellt am: 18. Okt. 2011 16:13 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 18. Okt. 2011 16:24 <-- editieren / zitieren --> Unities abgeben: Nur für Kodat
Weil ich nicht 100%ig die Leerzeilen eingehalten habe die für eine vollständige Abarbeitung nötig wäre, hier kommen wir eben an den Punkt das Eigeninitiative gefragt wäre (Script und Makro-Basics + AutoCADhilfe in der die Befehle von AutoCAD dokumentiert sind) <die Forensoftware hat mir Zeilenumbrüche beim C&P geklaut > So muß es starten: ;;;START _.MODEL _.-STYLE "ARIAL NARROW" <Leerzeile> <Leerzeile> <Leerzeile> <Leerzeile> <Leerzeile> (if usw. ------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) [Diese Nachricht wurde von cadffm am 18. Okt. 2011 editiert.] [Diese Nachricht wurde von cadffm am 18. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kodat Mitglied Architekt
Beiträge: 310 Registriert: 27.01.2004 Intel CoreI 5/750 16GB Ram , W7Prof. 64bit Nvidia Quadro 2000 AC 2012 / RAC 2012.sp2
|
erstellt am: 18. Okt. 2011 17:23 <-- editieren / zitieren --> Unities abgeben:
|
spider_dd Mitglied
Beiträge: 1144 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 19. Okt. 2011 08:39 <-- editieren / zitieren --> Unities abgeben: Nur für Kodat
Hallo Carsten, an dem Punkt, an dem Du jetzt angekommen bist, bleiben euch m. E. folgenden, weiter oben von CADchup schon sinngemäß genannte Möglichkeiten. 1) Du "wurschtelst" weiter wie bisher gehabt. (und kriegst kein Geld dafür) 2) Du vertiefst Dich soweit in Lisp und Script, dass Du selber was proggen kannst, was euch weiterhilft. (Ist erstmal Zeit, die euch keiner bezahlt, bringt aber später dann Zeitersparniss.) Wenn Du dabei dann konkrete Hilfe brauchst, steht Die hierfür das Forum sicher mit Rat und Tat zur Seite. 3) Ihr beauftragt die Erstellung eines entsprechenden Tools. (Leute die sowas machen, tummeln sich hier auch, einfach mal die Sig's lesen und ein Angebot abfragen. Und Nein, ich gehöre nicht dazu . Das kosten zwar auch erstmal Geld, bringt das aber über die Zeiteinsparung und die dadurch frei werdenden Stunden, in denen ihr wieder Dinge tun könnt, für die ihr bezahlt werden, schnell wieder rein. (Zwanzig DXF-Dateien "behandeln" könnte vielleicht schon reichen.) So, der Ball ist bei Dir. Beste Grüße Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |