I've been using this method for "copying" objects from one point to another..
Dim EntityCopy As Entity = EntitySource.GetTransformedCopy(Matrix3d.Displacem
But have run into a few glitches, not program stopping glitches just annoying ones..
With polylines, not all the properties are copied, one for example is the "global width". it gets re-set to 0.
Problem is with dynamic blocks.. the above method creates a "dumb" version of the block rather than a functional dynamic version of the block..
Can anyone show me a way to fix this, or an alternate method for copying objects from point a to point b?
Solved! Go to Solution.
In that case as for Tony Tanzillo's recomendation I wouldt use
DeepCloneObjects method of DataBase instead
Try this quicky
No error trapping in there, do it by yourself
<CommandMethod("como")> _ Public Shared Sub CopyMove() Dim doc As Document = acApp.DocumentManager.MdiActiveDocument Dim db As Database = doc.Database Dim ed As Editor = doc.Editor Dim peo As New PromptEntityOptions(vbLf & "Select object:") Dim per As PromptEntityResult = ed.GetEntity(peo) If per.Status <> PromptStatus.OK Then Return End If Dim startPT As Point3d = ed.GetPoint(vbCr & "Pick a point from: ").Value Dim EndPT As Point3d = ed.GetPoint(vbCr & "Pick a point to: ").Value Using tr As Transaction = db.TransactionManager.StartTransaction() Dim btr As BlockTableRecord = CType(tr.GetObject(db.CurrentSpaceId, OpenMode.ForWrite), BlockTableRecord) Dim sourceId As ObjectId = per.ObjectId Dim EntitySource As Entity = CType(tr.GetObject(sourceId, OpenMode.ForRead), Entity) Dim ids As New ObjectIdCollection() ids.Add(sourceId) db.DeepCloneObjects(ids, db.CurrentSpaceId, New IdMapping, False) Dim EntityCopy As Entity = CType(tr.GetObject(ids(0), OpenMode.ForRead), Entity) EntityCopy.UpgradeOpen() EntityCopy.TransformBy(Matrix3d.Displacement(start
PT.GetVectorTo(EndPT))) EntityCopy.ColorIndex = 2 tr.Commit() End Using
Working with making blocks from existing entities in a file. I've run into problems with iterating through the entities within a selection set and writing them to my new blocktablerecord. How do I take those items from my selection set and add them to this new block? All thoughts and help are appreciated.
Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register