I am trying to scale down a table by half and "scale factor doesn't work. Am I doing something wrong ? it always come in original size and not scale - I tried to put the line before transaction and after appent and before , Here is Code.
Need help ,Thanks.
Janet.
Using tr As Transaction = Mydb.TransactionManager.StartTransaction Dim btr As BlockTableRecord = tr.GetObject(Mydb.CurrentSpaceId, OpenMode.ForWrite) btr.AppendEntity(tb) tr.AddNewlyCreatedDBObject(tb, True) tb.ScaleFactors = New Scale3d(0.5) tr.Commit() End Using
Solved! Go to Solution.
Solved by Alfred.NESWADBA. Go to Solution.
Try this
tb.TransformBy(Matrix3d.Scaling(0.5, tb.Position))
tr.Commit()
Or perhaps
tb.ScaleFactors = New Scale3d(0.5,0.5,1.0)
Thanks Hallex,
Option one is not what I want . Because the scaling is in a point monitor event, and everytime user moves the mouse it scale down another time.
option 2 doesn't work either.
Appreciated your help though.
Janet.
Hi,
>> Because the scaling is in a point monitor event, and everytime user moves the mouse it scale down another time
Then you check current size to decide if the table has to be scaled down or up or not, just one "if" ... 😉
....or there is something missing in your description to get that understandable for us.
- alfred -
@Janet,
In this case you may want to use DrawJig
because of inside the event just SendStringExecute
is working properly and interactive command should be ignored