AutoCAD .NET :: Insert Block And Drag Jig Hiding Inserted Block At 0,0
Apr 11, 2013
I have a pallete button that inserts a block then a drag jig to position it. The block is first inserted at 0,0 and dragged.
The block at 0,0 remains visible while a "duplicate" block is dragged. Is there a way to hide the original?
Insert block then calling the drag jig..
AddViewBlock(New Point3d(0, 0, 0), 0, ColorIndex, trans) psr = ed.SelectLast() DragView(psr.Value, "Bar Insertion Point")
In the DragView procedure I have:
Public Sub DragView(ByVal SS As SelectionSet, ByVal sPrompt As String)
'....
Dim ppr As PromptPointResult = ed.Drag(SS, vbLf & sPrompt, New DragCallback(AddressOf MyDragCallback))
I have created a dynamic block with a stretch, flip and rotate. Everything works great in its file. When I insert it in another file, the grips move but the block does not change.
I am learning autolips and i found a problem that i can´t solved.
(vl-load-com)(defun c:pmb ( / ss ent pt )(prompt " selec block : ")(setq ss (ssget '((0 . "INSERT")))) (setq ent (ssname ss 0)), (setq pt (cdr (assoc 10 (entget ent)))) (command "point" pt)) wich this code you select one block and insert one point at insert point´s block.
which this other code yo select all block and insert all point.... but in one block
I have a block that i want to insert several times and revised each one to be different to do this i would have to insert it and rename the blocks that come in and then reinsert i would like to insert and have a lisp explode the main block and rename the other 2 blocks with a suffix at the end depending on how many times its in the drawing... can this even be done? My original block name that will be first inserted is "BENT PULLEY NOTES" it needs to explode after i drop it in and then there are 2 blocks within that called "Bent Pulley" and "Bent Pulley DYN" that i was hoping to keep the names but add a number at the end depending on how many are in the drawing already...
here is a lisp that i have found... it would work if i didn't have nested blocks and only wanted the one block to be insert and not explode...
(defun c:Test (/ e i name Bname ) (setq e nil) (command "_.-insert" "Drawing1.dwg" pause "" "" "") (if (setq e (entlast))
I am trying to insert a dynamic block and position and stretch the block, using the linear parameters, depending on values entered into a form.
I managed to create a form that would draw a series of boxes. And i managed to create a routine that would insert a block and size it depending on fixed values but i can't link the 2 together.
I am using Autocad 2007 I made several blocks with att. And I use this drawing and copy it to the samples/design center folder so that I can see the blocks that I created on the Design center window for use on different other drawings.
My problem is that if I make a cange on the ORIGINAL block drawing how can I update the inserted blocks on the other drawings? I try to delete the block from the local drawing insert block list (is this possible?) to paste the block again with the new changes, but somehow even when I grab the new modified block to inserted again when I do it, it takes the shape of the old version!
Is it possible to create a block to insert on our title block that will populate itself with a list of drawings and names?
I know this is possible through the use of LISP and the Sheet Set Manager, but could this be done through a combination of attributes and fields (we want the same functionality in LT).
Drawing contains a block with "BlkName". I want to insert blockreferences of this existing block using .Net. All shows how to insert a new block and then use the BlockID returned by the insert function. In my case I only have the block name and there is no Block id. How to get it or how to create a block reference of an existing block?
I've just been sent some layouts by our planning team and they have attributes stating the size and name of all the furniture.
How can I quickly hide or delete the attributes as for my purposes the text is irrelevant and gets in the way?
I have tried the BATTMAN command but it doesn't seem to let me delete all of the attributes I have to leave one on each block. Currently all of the attributes are on the same layer as the lines (layer 0.)
I have made a few blocks that contain a few attributes. I have populated the Tag, Prompt, and Value for each block. When I insert the block the value seems to take on a life of its own and populate with text different than what I have entered.
I have a function that inserts a file to be a block definition
db.ReadDwgFile(fileName, FileShare.Read,True, "") Dim isAnno AsBoolean = db.AnnotativeDwg Dim btrId As ObjectId = destDb.Insert(destName, db, False) If isAnno Then [code]......
When I create a block reference the attribute collection count is zero. Is there something I need to do with the block definition to enable the attributes.
I am using AutoCAD 2010 64 bit. (I did think I had this working on my 32 bit computer but will check tomorrow). Running the AutoCAD function Battman - sync fixes the issue.
I would like to solve a drawing insertion when I set the scale as 1 but when I insert the dwg, it looks smaller and the PROPERTIES box tells me that the dwg is .0364 in size.
my "block editor settings" dialog box won't show up wether i try to access it via command line, options, or the block editor. everything else disables like it should be running..... but no dialog box?
“Dynamic block” that contains an inserted “field”,
I’m now encountered into two problems with this regard:
Why sometimes we get the number sign “####”?How can the field automatically be updated in case a “stretch” is made without the need to go and click “update fields”?How to make the “precision” of the field value (which represent the length) to be 5 such that the 2568 will appear as 2570 and the 2563 will appear as 2565 I’m attaching the block in case your time permits to have a look
I inserted a block into a very busy drawing. I can't find it now. Is there a way to locate it? I want to delete and insert a newer version, but I can't until I delete this one.
see attached block. I would like the current date be present, instead of typing in the date for this block. When I insert "IFC" block, I would like todays date to be inserted automatically. I guess I am asking if you can make smart blocks in autocad 2009? Let me know if I'm not asking this question correctly.
I write a program, this program needs to insert some standard illustrations. I made these standard illustrations into different blocks. And I store these blocks in a dwg file. Everytime I need to insert some illustrations, I just click the mouse on the current drawing, I want the illustration inserted. These means the following points:
(1) Import the blocks to the current drawing, if the blocks have already been imported, then do nothing.
(2) Specify the insert point by clicking the mouse, and I want the block's insert point to coincide with the mouse clicking point.
I've written a method that creates a block definition and inserts one instance the newly created block definition. The block is comprised exclusively of lines and text entities. When the method is completed, all entities appear correctly on my machine.
However, when other users try to run the routine on their machines, the lines appear correctly but the text entities all appear positioned at the block insertion's origen. And the other users must manually regen the drawing after the command is run to trigger the text entities to move (or appear to move) into their proper location.
Though it wasn't necessary on my machine, I tried adding the following line as the last instruction in my command-method:
_drawing.Editor.Regen();
But even that last line's programmatically-triggered regen didn't solve the text location issue for my users. They still have to manually regen.
I also ensured that all (or most) of a test user's system variables were set to the same values that I use (via Express Tools export & import). But that didn't work either.
I have a library of blocks that I built for our company to use. We recently upgraded from 2013 to 2014 and boy did it throw our library for a loop!
There is a check box (reflectivity) that leaves the materials black when the drawing shade mode is changed to Realistic (unless you go in and uncheck the reflectivity box) and while I have figured out how to alleviate that issue (by unchecking it on our tempate and saving it) I am still having a materials issue with our blocks.
I can open the block (and turn on Realistic mode) and all the pieces have their materials like they should. I then open a new drawing and insert the same block into the drawing .. one piece is sans material.
I cannot for the life of me figure out why it's there on one drawing but it gone when inserted. The new drawing has been purged and doens't contain anything it shouldn't.
i can't drag a block from the design center into any drawing. i have to go into the design center right click on the block, click copy, then go back to my drawing and paste the block. this has just started happen, before i was able to drag and drop with no problem. there is no error message the only thing that happens when i try to drag a block from the design center is when i'm back in the drawing the cross hair has a circle.
I have to write a procedure for insert a block with attributes from an external file and set the annotative scale block to current scale. where I cand find an examples?
is there a way to insert a block in the drawing, but with a different name, so it can be edited separately?
I have block A in the drawing and i want to insert it again, but then edit it while the ones already inserted stay unchanged. So i would need it to be inserted as A_1.
I defined a 3d block..It is defined along X axis...I want to insert it into a ucs by picking 2 points( insertion, and direction) and that Block Z axis to be parallel with UCS z axis
I insert the block first then I rotated it..I have got this
P1 is insertion poit
P2 is the point for direction
P1 world is p1.transformby(current ucs)
Dim Xax_block As Vector3d = Block1.BlockTransform.CoordinateSystem3d.Xaxis.TransformBy(Block1.BlockTransform) Dim VectorP12 As Vector3d = P1_world.GetVectorTo(P2_world) Dim RotAX As Vector3d = Xax_block.CrossProduct(VectorP12) ' here is calculating the perpendicular vector between x axis of the block and the vector from point1 and point2 Dim Rotation1 As Double = Xax_block.GetAngleTo(VectorP12) Block1.TransformBy(Matrix3d.Rotation(Rotation1, RotAX, P1_world))
By picking 2 points is inserting the block along the line between 2 points...But is not having as normal the z axis of the ucs..
I have a problem with inserting 3d blocks in autocad 2011. While inserting a block, i specify insertion point on-screen and blocks seems to be inserted to right place but block itself is far away from the drawing (eg. if i type zoom --> extens = drawing and inserted block are totally different locations on model screen.)
Am I along the correct workflow path here? I want to insert a drawing as a block into my current drawing. Before I start writing code I want to make sure I understand the steps.
Open Transaction Wblock Drawing to Temp Database Now have my New BlockTableRecord Object Copy BlockTableRecord to ActiveDwg.Database Create New BlockReference Add attributes Set Scale Properties Set Insertion Point Set Rotation Append BlockReference to Database Commit Transaction
Am I missing any of the steps?
Is this how I would imidate the old VBA modelspace.insertblock(myPoint, "C:pathpathpathlock.dwg",1,1,1,0)
I am inserting a block from another file to the current drawing file.
I am using C#.Net.
My block gets added into the blocktable record of the current file, but while inserting the block using the "Block" command in AutoCAD its shows an error "The Existing Block has not been modified" I have attached a screenshot of the message i am getting.
I want to insert the block automatically to a user specified location.