Hot News:
  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Auslesen von Blockeigenschaften mittels VBA möglich? (Seite 7)

  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Thema geschlossen  Thema geschlossen!
UBBFriend: Senden Sie diese Seite per eMail an einen Freund!
Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen Dieses Thema ist 10 Seiten lang:   1  2  3  4  5  6  7  8  9  10

nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Auslesen von Blockeigenschaften mittels VBA möglich? (12902 mal gelesen)
kiltswitch
Mitglied



Sehen Sie sich das Profil von kiltswitch an!   Senden Sie eine Private Message an kiltswitch  Schreiben Sie einen Gästebucheintrag für kiltswitch

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 03. Nov. 2004 08:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities
Ich bin Dir deshalb nicht böse und kann das verstehen. Das mit dem Konzept ist richtig, nur fällt es mir schwer, dieses aufzustellen, weil ich ja selber noch nicht richtig weiß, wie alles funktionieren soll. Das mit dem VBA ist leider alles Neuland für mich und ich weiß nicht, ob dann mein aufgestelltes Konzept überhaupt so umsetzbar ist -es ist sozusagen wie ein kleiner Teufelskreis.

Trotzdem Danke für die Tipps und die Unterstützung. Ich werde versuchen, erst einmal dieses Konzept hinzubekommen und dann sehe ich weiter.

K

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 603
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 03. Nov. 2004 08:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities
Moinsen kiltswitch,

wahrscheinlich kannst Du mit der TextDatei nichts anfangen, aber das ist auch nicht schlimm. Den Teil kannst Du ja auch ohne Probleme wieder rausnehmen, die Koordinaten stehen ja weiterhin im Code. Wie wäre es, wenn Du Dir erstmal die Koordinaten deiner Anbindungspunkte lokal, also ausgehend vom Einfügepunkt bestimmst. Deine ganzen Teile, die Du Dir da dranhängen möchtest scheinen katalogisiert zu sein. Ist es denn denkbar, dass Antennen oder was auch immer, an mehreren Anbindpunkten eingefügt werden können? Ich denke mal ja. Das einfachste wäre dann wahrscheinlich, wenn Du Dir ein Formular erstellst, in dem so ein nackter Mast gezeichnet ist und der Benutzer sucht sich einfach nur den Anbindepunkt aus und welches Dingens dort dran gezeichnet werden soll. Ich glaub das wäre das einfachste. Und dein Programm kennt ja dann die lokalen Koordinaten. Voraussetzung wäre natürlich, das es den Mast dann auch in der Zeichnung gibt. Aber das sollte ja nicht das Problem sein. Das nochmal als Anregung. Wie Du nun weitervorgehen sollst oder kannst, kann ich Dir nicht vorschreiben oder sagen. Ich bin gerne bereit, Dich bei Programmierproblemen und Anderen zu unterstützen, aber es wäre schön, wenn von Dir auch etwas kommen würde, was die Lösung angeht und nicht wie Du etwas realisieren sollst. Wenn es irgendwo hängt, kein Problem, da hilft Dir in dem Forum hier jeder. Es ist schwer sich etwas vorzustellen, was man noch nie gesehen hat, geschweige denn eine Lösung dazu zu finden. Entwickle doch erstmal ein Konzept, wie das ganze mal aussehen soll, was es können soll. Dann entwirfst Du eine erste Oberfläche und die Programmierung dazu kommt von ganz alleine. Ich hoffe es hilft Dir weiter, aber sei mir nicht bös. Ich kann auch nicht den ganzen Tag im Forum hängen, muss nebenbei auch noch nen bissle studieren und meine Brötchen verdienen.

Gruß TP

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kiltswitch
Mitglied



Sehen Sie sich das Profil von kiltswitch an!   Senden Sie eine Private Message an kiltswitch  Schreiben Sie einen Gästebucheintrag für kiltswitch

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 03. Nov. 2004 08:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities
Der oben stehende Code bezieht sich ja darauf, dass in der Zeichnung bereits Blöcke vorhanden sind und von diesen werden dann die Koordinaten ermittelt und die Textdatei ausgelesen.

Mein Ziel ist es jedoch, in eine leere Zeichung über das entwickelte Menü die Blöcke der Einzelbauteile (aus den anderen dwg-Dateien) sozusagen zu importieren und diese automatisch an der richtigen Stelle zusammenfügen zu lassen. D.h. gleich beim Importieren des Blockes müssen die Koordinaten des Basispunktes verarbeitet werden.

K

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kiltswitch
Mitglied



Sehen Sie sich das Profil von kiltswitch an!   Senden Sie eine Private Message an kiltswitch  Schreiben Sie einen Gästebucheintrag für kiltswitch

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 03. Nov. 2004 08:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities
Hallo,

erst noch einmal recht vielen Dank für die gestrige Hilfe mit dem Code. Nun stellt sich mir die Frage, wie ich mit den Basispunktkoordinaten in der Textdatei weiterarbeiten kann bzw. ob mir das überhaupt richtig weiter hilft?

Mir schwebt ja vor, über ein Menü in AutoCAD alles verwalten zu können, d.h. ich wähle im Menü einen leeren Mast aus, dann meinetwegen den Mastfuß, danach das Fundament usw. und mein Programm, welches hinter dem Menü steckt, fügt diese Blöcke automatisch zusammen.

Wie kann ich das umsetzen?

K

[Diese Nachricht wurde von kiltswitch am 03. Nov. 2004 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 603
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 02. Nov. 2004 18:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities
Freuen würd ich mich über einen Kaffee und 10U`s .. 

Gruß TP

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kiltswitch
Mitglied



Sehen Sie sich das Profil von kiltswitch an!   Senden Sie eine Private Message an kiltswitch  Schreiben Sie einen Gästebucheintrag für kiltswitch

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 02. Nov. 2004 17:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities
Danke für den Code, das Auslesen der Koordinaten des Basispunktes funktioniert auf diese Weise. Nun muß ich bloß noch mit den Daten in der Textdatei etwas anfangen können - aber heute nicht mehr. Feierabend ;-)

Vielleicht sieht man sich ja morgen wieder hier, ich bin Dir sehr dankbar für Deine Hilfe!

K

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 603
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 02. Nov. 2004 16:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities
Der Code liest Dir den Einfügepunkt aller Blöcke in deiner aktuellen DWG aus und schreibt sie in die Datei. Den Verweis auf die 'Microsoft Scripting Runtime' nicht vergessen!

Code:
Sub ReadBlockProperties()
Dim AcMapEntity As AcadEntity
Dim AcMapBlock As AcadBlockReference

Dim fso As FileSystemObject
Set fso = New FileSystemObject

Dim TxtFile As TextStream
Set TxtFile = fso.OpenTextFile("c:\ausgabe.txt", ForWriting, True)

For Each AcMapEntity In ThisDrawing.ModelSpace
    If AcMapEntity.ObjectName = "AcDbBlockReference" Then
       
        Set AcMapBlock = AcMapEntity
        TxtFile.WriteLine AcMapBlock.InsertionPoint(0) & _
            vbTab & AcMapBlock.InsertionPoint(1) & _
            vbTab & AcMapBlock.InsertionPoint(2) & vbCr
 
    End If
Next

TxtFile.Close
Set TxtFile = Nothing
Set fso = Nothing
Set AcMapEntity = Nothing
Set AcMapBlock = Nothing

End Sub


Gruß TP

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kiltswitch
Mitglied



Sehen Sie sich das Profil von kiltswitch an!   Senden Sie eine Private Message an kiltswitch  Schreiben Sie einen Gästebucheintrag für kiltswitch

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 02. Nov. 2004 16:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities
Achso, und wie genau liest man den nun aus? Wie lautet dazu der Code?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kiltswitch
Mitglied



Sehen Sie sich das Profil von kiltswitch an!   Senden Sie eine Private Message an kiltswitch  Schreiben Sie einen Gästebucheintrag für kiltswitch

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 02. Nov. 2004 16:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities
Mmh, ich befürchte, Du könntest Recht haben. Wenn ich mich entsinne, ist der Basispunkt nicht immer gleich dem Einfügepunkt. Und wenn man nur den Basispunkt des Blocks auslesen kann, dann könnte das wirklich problematisch werden. Dann komme ich wohl um eine mathematische Berechnung nicht drumherum :-(

Ist bei einem Block wirklich nur der Basispunkt auslesbar?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 603
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 02. Nov. 2004 16:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities
Wahrscheinlich ist es recht einfach zu realisieren, aber die Tücke liegt dabei meist im Detail.
Ist der Basispunkt deines Blockes auch gleich der Einfügepunkt?
Ein Block ist immer nur mit einem Punkt definiert und diesen kannst Du Dir auch nur auslesen.

Deine Anbindepunkte sind scheinbar willkürliche Punkte in dem Block drinnen, die sind aber nirgends definiert. Das heisst, das Du diese Punkte auch nicht auslesen kannst! Die könntest Du Dir höchstens mathematisch bestimmen und dort den jeweiligen Block einfügen. Vorausgesetzt, die Abstände der Anbindepunkte sind wirklich immer identisch und eindeutig festgelegt. Aber eine andere Möglichkeit sehe ich sonst nicht.

Gruß TP

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige:

Anzeige: (Infos zum Werbeplatz >>)

Dieses Thema ist 10 Seiten lang:   1  2  3  4  5  6  7  8  9  10

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag öffnen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum


(c)2011 CAD.de
-