| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Cideon Solution Days am Nürburgring - Innovation trifft auf Schnelligkeit, eine Pressemitteilung
|
Autor
|
Thema: Index auslesen (159 mal gelesen)
|
Wolli Mitglied Konstrukteur
Beiträge: 704 Registriert: 28.02.2001 Win7 64Bit+32Bit VM-Ware I7 12GB ACAD Mech 2010 Inventor Pro 2010 + 2012 Ansys 13 NLS
|
erstellt am: 08. Mrz. 2001 10:59 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ein Kollege (gute Delphi Kenntnissen) und ich (geringe VBA und Lisp Kenntnisse)haben folgendes Problem: Wir haben mit Delphi ein Programm zum Archivieren von ACAD-Zeichnungen gebaut (Dateiname Prüfen, Datei verschieben...) Jetzt wollen wir es dem Programm ermöglichen auf die Attribute "index" aus dem ACAD-Schriftfeld auszulesen. Wie kann man das Problem lösen? Muß ACAD auf dem Rechner istalliert sein auf dem man die Archivierung startet? mfg Wolfgang Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Marco Müller Mitglied Konstrukteur Versorgungstechnik
Beiträge: 241 Registriert: 12.03.2001 Acad2002 (engl.) LiNear 3D-Heizzentrale WinXP SP1 AMD 2,8 GHz 1GB RAM GF FX5700 128MB
|
erstellt am: 12. Mrz. 2001 14:22 <-- editieren / zitieren --> Unities abgeben: Nur für Wolli
Hallo Wolli, über Lisp ist es mögich, Attribute mit einem bestimmten Namen (z. B. INDEX) aus einem Block (Schriftkopf) auszulesen oder zu verändern, ich hab das in einem anderen Beispiel schon mal gesehen. Wie es deinem Kollegen und Dir gelingt dies mit VBA und Delphi zu kombinieren, da hab ich auch zu wenig Ahnung, vielleicht über Ausgabe des Indexes in eine temporär-Datei, die danach gelöscht wird. Gruss Marco 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: 12. Mrz. 2001 16:08 <-- editieren / zitieren --> Unities abgeben: Nur für Wolli
|
AndreasK Administrator Daseinsinformatiker
Beiträge: 1048 Registriert: 02.03.2000 Unter allen Umständen kann Vernunft durch Vernunft aufgeklärt werden (Alexander von Humboldt)
|
erstellt am: 12. Mrz. 2001 17:08 <-- editieren / zitieren --> Unities abgeben: Nur für Wolli
|
Wolli Mitglied Konstrukteur
Beiträge: 704 Registriert: 28.02.2001 Win7 64Bit+32Bit VM-Ware I7 12GB ACAD Mech 2010 Inventor Pro 2010 + 2012 Ansys 13 NLS
|
erstellt am: 16. Mrz. 2001 13:48 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank zusammen, das hört sich ja alles nicht sehr ermutigend an. Wir werden es mal so versuchen wie Marco geschrieben hat. Ein VBA welches beim Speichern ein Textfile Zeichnungsname.txt in eine Bibliothek schreibt in dem der Index enthalten ist. So kann dann das Delpi-Programm darauf zugreifen ohne daß es ACAD braucht. Vielen Dank und Gruß Wolfgang
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lenni Mitglied Dip.-Ing.
Beiträge: 21 Registriert: 09.03.2001
|
erstellt am: 27. Apr. 2001 08:56 <-- editieren / zitieren --> Unities abgeben: Nur für Wolli
Hallo Wolli, bin zur Zeit am gleichen Problem, archivieren von Zeichnungen, bin zwar erst am Anfang meiner Programmiererfahrung aber folgende Syntax holt zumindest die Attribute aus dem Schriftkopf, wenn der dementsprechend angepaßt wird: For i = 0 To objCount - 1 Set mspaceObj = ThisDrawing.ModelSpace.Item(i) If mspaceObj.EntityName = "AcDbBlockReference" Then If mspaceObj.HasAttributes Then attributes = mspaceObj.GetAttributes insertp = mspaceObj.InsertionPoint Rotationp = mspaceObj.Rotation For count = LBound(attributes) To UBound(attributes) If Header = False Then attext = attributes(count).TagString atwert = attributes(count).TextString If attext = "RAHMEN" Then rahmen = atwert insertpr = insertp Rotationp = Rotation End If If attext = "IDENT-NR" Then identnr = atwert End If If attext = "ZEICHNUNG-NR" Then znr = atwert End If If attext = "GEN-TITLE-SCA" Then sfaktor = atwert End If If attext = "BLATT" Then blnr = atwert End If End If Next count End If End If Next Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |