Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Block als .dwg einfügen

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

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Block als .dwg einfügen (1551 mal gelesen)
BillFrankShepard91
Mitglied
Student


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

Beiträge: 15
Registriert: 18.10.2013

Hardware:
Acer TimlineX 4830TG Notebook<P>Software:
AutoCad 2014 (Studentenversion); Visual Studio Express 2012;

erstellt am: 21. Okt. 2013 20:54    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

Abend zusammen, 

Wie man unschwer an meinem Betreff erkennen kann, versuche ich einen Block in Form einer dwg-Datei in AutoCAD über vb.net einzuzeichnen. Da ich mich auf totalem Neuland bewege und ich im AutoCAD-Developer-Guide keine passende Vorgehensweise finden konnte, hoffe ich, dass mir hier im Forum geholfen werden kann.

Ziel meines Programms soll folgendes sein:

Ich habe eine Liste voll mit Koordinaten(3D), welche den Mittelpunkt eines Baumes darstellen sollen. Zu jedem Koordinatenpaar gehört auch ein Radius(Baumkrone).
Meinen Block (baumkrone.dwg) möchte ich nun über ein For-Schleife für jeden Baum in meine Modelspace einzeichnen lassen. Der Block muss also auf die Größe der jeweiligen Baumkrone skaliert werden. Wie sollte ich hier am besten vorgehen?

Ich hoffe, es kann mir jemand dabei etwas auf die Sprünge helfen. 

Danke schon ein Mal für's lesen!

Bill

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

Ingenieur Studio HOLLAUS
Mitglied
CAD / CAFM / GIS Beratung-Programmierung-Schulung


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

Beiträge: 1049
Registriert: 06.11.2008

Autocad 2 bis Autocad 2020 (+Map3D, +Civil3D, +Infraworks)
RKV .... CAFM+mehr
HMap ... Vermessung und Verkehr
OoC .... Raumplanung
CBox ... Tools für AutoCAD und BricsCAD (kostenfrei)

erstellt am: 22. Okt. 2013 10:21    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 Nur für BillFrankShepard91 10 Unities + Antwort hilfreich

http://docs.autodesk.com/ACD/2014/ENU/index.html?url=files/GUID-2656E245-6EAA-41A3-ABE9-742868182821.htm,topicNumber=d30e720423
...könnte doch liefern, was Du suchst?
Schau vielleicht nachweiteren Parametern bei "new BlockReference(...)"

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


www.cars4fun.at

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

BillFrankShepard91
Mitglied
Student


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

Beiträge: 15
Registriert: 18.10.2013

Hardware:
Acer TimlineX 4830TG Notebook<P>Software:
AutoCad 2014 (Studentenversion); Visual Studio Express 2012;

erstellt am: 22. Okt. 2013 13:13    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 Hollaus,

Danke schon ein mal für den Link. Hab ich trotz langem Suchen gestern Abend nicht gefunden... 

Ich bekomme es jetzt hin, dass mein Block über folgenden Code eingefügt wird.


Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Geometry

Public Class Class5

    <CommandMethod("BlockEinfügen")> _
    Public Sub InsertingABlock()

        Dim acCurDb As Autodesk.AutoCAD.DatabaseServices.Database
        acCurDb = Application.DocumentManager.MdiActiveDocument.Database

        Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()

            Dim acBlkTbl As BlockTable
            acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId, OpenMode.ForRead)

            Dim blkRecId As ObjectId = ObjectId.Null

            If Not acBlkTbl.Has("Baumkrone") Then
                Using acBlkTblRec As New BlockTableRecord
                    acBlkTblRec.Name = "Baumkrone"

                    acBlkTblRec.Origin = New Point3d(0, 0, 0)

                    Using newdb As New Database(True, False)

                        newdb.ReadDwgFile("C:\Temp\Baumkrone.dwg", FileOpenMode.OpenForReadAndAllShare, False, "")

                        acCurDb.Insert(Matrix3d.Displacement(New Vector3d(0, 0, 0)), newdb, True)

                    End Using

                    blkRecId = acBlkTblRec.Id
                End Using
            Else
                blkRecId = acBlkTbl("Baumkrone")
            End If


            If blkRecId <> ObjectId.Null Then
                Using acBlkRef As New BlockReference(New Point3d(10, 10, 10), blkRecId)

                    Dim acCurSpaceBlkTblRec As BlockTableRecord
                    acCurSpaceBlkTblRec = acTrans.GetObject(acCurDb.CurrentSpaceId, OpenMode.ForWrite)

                    acCurSpaceBlkTblRec.AppendEntity(acBlkRef)
                    acTrans.AddNewlyCreatedDBObject(acBlkRef, True)
                End Using
            End If

            acTrans.Commit()

        End Using
    End Sub

End Class


Jetzt meine nächste Frage: Wie kann ich für einen Block einen Skalierungsfaktor festlegen?

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

Ingenieur Studio HOLLAUS
Mitglied
CAD / CAFM / GIS Beratung-Programmierung-Schulung


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

Beiträge: 1049
Registriert: 06.11.2008

Autocad 2 bis Autocad 2020 (+Map3D, +Civil3D, +Infraworks)
RKV .... CAFM+mehr
HMap ... Vermessung und Verkehr
OoC .... Raumplanung
CBox ... Tools für AutoCAD und BricsCAD (kostenfrei)

erstellt am: 22. Okt. 2013 14:35    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 Nur für BillFrankShepard91 10 Unities + Antwort hilfreich

acBlkRef.ScaleFactors = New Geometry.Scale3d(1, 1, 1)

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


www.cars4fun.at

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

BillFrankShepard91
Mitglied
Student


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

Beiträge: 15
Registriert: 18.10.2013

Hardware:
Acer TimlineX 4830TG Notebook<P>Software:
AutoCad 2014 (Studentenversion); Visual Studio Express 2012;

erstellt am: 22. Okt. 2013 22:40    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 Ing.-Studio Hollaus,

Danke nochmal für deine Tipps. Klappt jetzt alles einwandfrei! ;-)

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

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

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


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

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

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

(c)2023 CAD.de | Impressum | Datenschutz