Jump to content

Search the Community

Showing results for tags 'dynamic block'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • CADTutor
    • News, Announcements & FAQ
    • Feedback
  • AutoCAD
    • AutoCAD Beginners' Area
    • AutoCAD 2D Drafting, Object Properties & Interface
    • AutoCAD Drawing Management & Output
    • AutoCAD 3D Modelling & Rendering
    • AutoCAD Vertical Products
    • AutoCAD LT
    • CAD Management
    • AutoCAD Bugs, Error Messages & Quirks
    • AutoCAD General
    • AutoCAD Blogs
  • AutoCAD Customization
    • The CUI, Hatches, Linetypes, Scripts & Macros
    • AutoLISP, Visual LISP & DCL
    • .NET, ObjectARX & VBA
    • Application Beta Testing
    • Application Archive
  • Other Autodesk Products
    • Autodesk 3ds Max
    • Autodesk Revit
    • Autodesk Inventor
    • Autodesk Software General
  • Other CAD Products
    • BricsCAD
    • SketchUp
    • Rhino
    • SolidWorks
    • MicroStation
    • Design Software
    • Catch All
  • Resources
    • Tutorials & Tips'n'Tricks
    • AutoCAD Museum
    • Blocks, Images, Models & Materials
    • Useful Links
  • Community
    • Introduce Yourself
    • Showcase
    • Work In Progress
    • Jobs & Training
    • Chat
    • Competitions


  • Programs and Scripts
  • 2D AutoCAD Blocks
  • 3D AutoCAD Blocks
  • Images
    • Backgrounds

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...

  1. I'm almost there with my workflow, but I need a little help to get it just right. Here's what I'm trying to do: Type command Select block Pick Mleader arrow location Pick Mleader landing location Mleader content should automatically populate with the "SW_LENGTH" parameter from the block Everything works great up until step 5. After I pick both Mleader points, the Mleader text box opens for me to fill out (it's blank). But if I click in the drawing area, it exits the text box and fills in the correct info. So, how do I skip that last step and have the Mleader content fill in automatically without Autocad opening the text edit box? ;; Get Dynamic Block Property Value - Lee Mac ;; Returns the value of a Dynamic Block property (if present) ;; blk - [vla] VLA Dynamic Block Reference object ;; prp - [str] Dynamic Block property name (case-insensitive) (defun LM:getdynpropvalue (blk prp) (setq prp (strcase prp)) (vl-some '(lambda (x) (if (= prp (strcase (vla-get-propertyname x))) (vlax-get x 'Value))) (vlax-invoke blk 'GetDynamicBlockProperties))) (defun c:swtest () (setq blockName (car (entsel "\nSelect Block: "))) (if (and blockName (eq (cdr (assoc 0 (entget blockName))) "INSERT")) (progn (setq vlaBlock (vlax-ename->vla-object blockName)) (setq SW_LENGTH (LM:getdynpropvalue vlaBlock "SW_LENGTH")) (if SW_LENGTH (progn (setq textString (strcat "SW_LENGTH: " (rtos SW_LENGTH 2 2))) (princ (strcat "\n" textString)) (if (setq ins (getpoint "\nSpecify start point for MLeader: ")) (progn (setq endPoint (getpoint "\nSpecify end point for MLeader: " ins)) (setq curlay (getvar "CLAYER")) (setvar 'CMDECHO 0) (command "_.undo" "_group") (setvar 'CLAYER "S - TEXT") (command "CMLEADERSTYLE" "NORMAL - SW") (setvar 'CMDECHO 1) (initcommandversion) (command ".MLeader" ins endPoint "") (while (> (getvar "CMDACTIVE") 0) (command PAUSE)) (setq mleaderObj (vlax-ename->vla-object (entlast))) (vla-put-TextString mleaderObj textString) (setvar 'CMDECHO 0) (command "CMLEADERSTYLE" "Normal") (command "_.LAYER" "_SET" curlay "") (command "_.undo" "_end") (setvar 'CMDECHO 1) (princ "MLeader with SW_LENGTH created.")) (alert "Insertion point not specified!"))) (alert "SW_LENGTH attribute not found!"))) (alert "Selected entity is not a block!")) (princ))
  2. Hello! Quick FYI: (1) I am a brand new forum member, but I have looked up CAD issues on CADTutor various times! (2) I believe myself to be an intermediate level skilled CAD user Goal: I am trying to create a dynamic block of plywood that can be rotated, lengthened, and thickened. The block would contain two parallel lines and a hatch between them. I think I can achieve the lengthening with linear stretch and the thickening I can probably figure out, but I do need help with the rotation! Please see image for desired result: I have tried chained rotation actions, but the lines do not remain the same distance apart. Also, when all objects are rotated about the origin, the top line extrudes horizontally past the bottom (origin) which I do not want. I am not sure how wordy to be with my explanation, so I will leave it at this for now. Let me know if I need to provide anything else!
  3. Is there a method to update blocks and nested blocks (dynamic and/or annotated without losing their position, visibility status, and annotated values: Tag/prompt/default values) based on new blocks that will contain in a folder (source files)? New blocks have the same block name as old ones. The cad block files within the "source" folder have the same name as the old block. Dynamic blocks have stretch or rotation properties, example: block is stretched to 2100mm and rotated to 30 degrees. 1) is it possible to obtain this kind of sophistication? 2) How would I run this routine without opening the drawing and that select the drawing files? Thanks
  4. Not quite sure how to tackle this, because my options on the -mapimport is very limitted and did not completely understand ADE_ function library. When I use the dialouge box of mapimport, I do get options of "creating object data" in addition to "creating points as blocks" with the option of "getting attribute values from field". So I simply create a block and define attributes with the TAG to match the the "Attribute Table" from QGIS and everything works as it should - that is I now have blocks that show the values for each block because I selected "Get attribute values from field" on Mapimport dialouge box. Can it be possible to have a routine that automate this process to 0) select a folder that contains multiple shape files and not selected one by one 1) import the map (lines and points) 2) lines and maps to be imported with their respected Object data 3) dynamic blocks be inserted that contain attributes to show the OD values at each imported points 4) visibilities of the blocks change with values/ attributes (example: if value is Hydro then visibility A and if Telecom then visibility B)? so here on this code, I am selecting a folder and then reading the content (shape files), but then I cannot go further because -mapimport did not give me all the options needed. also Block_1 and Block_2 are just examples of a block/ currently with no visibility for the conditions stated above. I do not work with Map3D all that often so help is appreciated! ( (lambda ( / path);lstall lstseluser (defun BrowseForFolder ( / sh folder folderobject result) (vl-load-com) (setq sh (vla-getInterfaceObject (vlax-get-acad-object) "Shell.Application")) (setq folder (vlax-invoke-method sh 'BrowseForFolder 0 "" 0)) (vlax-release-object sh) (if folder (progn (setq folderobject (vlax-get-property folder 'Self)) (setq result (vlax-get-property FolderObject 'Path)) (vlax-release-object folder) (vlax-release-object FolderObject) result ) ) ) (if (null (setq path (BrowseForFolder))) ;; just in case you didnt specify a path nil (setq lstall (vl-directory-files path "*.shp" 1))) ;---------------------------------------- ;; msg - [str] Dialog label ;; lst - [lst] List of strings to display ;; bit - [int] 1=allow multiple; 2=return indexes ;; Returns: [lst] List of selected items/indexes, else nil (defun LM:listbox ( msg lst bit / dch des tmp rtn ) (cond ( (not (and (setq tmp (vl-filename-mktemp nil nil ".dcl")) (setq des (open tmp "w")) (write-line (strcat "listbox:dialog{label=\"" msg "\";spacer;:list_box{key=\"list\";multiple_select=" (if (= 1 (logand 1 bit)) "true" "false") ";width=50;height=15;}spacer;ok_cancel;}" ) des ) (not (close des)) (< 0 (setq dch (load_dialog tmp))) (new_dialog "listbox" dch) ) ) (prompt "\nError Loading List Box Dialog.") ) ( t (start_list "list") (foreach itm lst (add_list itm)) (end_list) (setq rtn (set_tile "list" "0")) (action_tile "list" "(setq rtn $value)") (setq rtn (if (= 1 (start_dialog)) (if (= 2 (logand 2 bit)) (read (strcat "(" rtn ")")) (mapcar '(lambda ( x ) (nth x lst)) (read (strcat "(" rtn ")"))) ) ) ) ) ) (if (< 0 dch) (unload_dialog dch) ) (if (and tmp (setq tmp (findfile tmp))) (vl-file-delete tmp) ) rtn ) (if (not (= lstall nil)) (setq lstseluser (LM:listbox "Select one or more shape files (Ctrl or Shift):" lstall 1)) ) ;---------------------------------------- (if (not (= lstall nil)) (progn (alert (vl-prin1-to-string lstseluser)) ) ) ) )
  5. Working to standardize a bill of material drawing that must consist of nothing more than text, lines, and blocks for a client that refuses to use datalinks and I was hoping to find a way to create a standard block that could act as a row in the table with cells containing text fields. Essentially, I would like to have the functionality of attribute definitions but have them copy down using some kind of array action. Has anyone had any luck/experience with something like this? I understand it's might be kind of impossible. Attached is what I'm hoping to have as default text in the newly generated row as the user pulls down the array arrow.
  6. Hi, I have a problem with copying a reference to a dynamic block from one drawing to another drawing containing the definition of the same block - their dynamic parameters are not preserved correctly. Comments: If I insert this block into a "clean" drawing, this problem does not occur. When I change the MIRRTEXT variable, the block looks different after pasting, but still incorrect. The procedure "_copyclip -> _pasteblock" does not solve this problem either. Copy: Paste: Thank you in advance for your help. base.dwg insert.dwg
  7. Hi everyone, I am trying to make a block with a rotation parameter. Two lines connected with a rounded corner. One line you can rotate. The arc follows the rotation but should adjust accordingly to the angle between the lines, the radius stays constant. Can someone give me a kickstart to solve this?? RotationBlock_withFillet.dwg
  8. See screenshots. How do I place the lookup in an ordered manner? Thanks in advance.
  9. I'm modeling a dynamic block. It represent a simple floor plan chimney. The dynamic block has six stretch actions. Three stretch actions are displayed in the properties menu. Two strectch actions have grip points. The total width and length. Tree stretch actions are chaind. They stretch with the wall thickness action. Unfortunately they won't move equal. Drawing1.dwg
  10. Hello! I'm trying to create a dynamic door with a 25 degree opened angle, however, I also want to be able to stretch the door while flipped horizontal/vertical. This is where I'm having trouble. I can only stretch the width of the door if both or none of the axis are flipped. If I flip it horizontally the door leaf does not stretch in the same angle. Does any body know how to correct this? I have checked the sample doors in Autocad that are opened 90 degrees, and they work with flipping. Not sure if it has to do with the 90 degrees or some other thing they have done. As a bonus, if you could help me with one other thing... I also would like it if the flip would continue to stay centered even if I stretch the width or depth. So if I stretch the door from 700mm to 900mm it would not offset when flipping it, and if I would change the depth of the door it would stay centered on the wall. Please point me in the right direction if you could! DWG of the door is attached. Thanks! dynamic_door.dwg
  11. Hey, I draw ventilation ductwork all day at work, just recently stumbled across dynamic blocks and could do with a little help with one. Attached is what i have done so far, the straight section works perfectly, just having some trouble with the radius bend. What I need is for the arc to stretch with the angle of the bend. :/ I appreciate any help, and feel free to use my working block. TEST.dwg
  12. Hi all, I'm not new to AutoCAD but I've honestly never created a dynamic block and don't know what I need to do. I've watched a few tutorials on dynamic blocks but what I am trying to do seems a little different than the typical use-case. I do a lot of audio-visual one-line drawings in AutoCAD. I have device equipment blocks showing all input and output connectors. I manually make them for every device but am looking to have a go-to generic dynamic block for one-off simple devices. Here are examples of finished manually created blocks: However, what I am looking for is a block that dynamically transform from this: To this: Ideally, block parameters would define how many "lines" of connections there is. Or, I am guessing there is a way for the block to be stretched such that the lines of connections become visible, but I do not want free stretch. The bottom edge of the rectangle should be a specific spacing from the middle of the last line of text. I'm sure the text could be shown or hidden with visibility, but then I don't understand how I'd resize the rectangle as required. Attributes can allow text for NAME and CONN for each IN/OUT. The manufacturer, model, and DEV_ID are all attributes. If for example there are a different number of inputs/outputs, I imagine just leaving the text attributes blank is enough to effectively hide them. If there's videos on doing this sort of dynamic block, links are appreciated. Most of the videos I've found are discussing layout/graphic objects. Thanks!
  13. Hi all! I came out with a problem in the last days, which I wasn't able to solve at all. It's about the creation of a dynamic block of a door, which features stretch, move, polar stretch and rotate commands. I reviewed, with great benefit, already several blogs, but this problem has a different issue which I hadn't found discussed yet. The main problem I am experiencing is how to keep the door tag horizontally, while rotating the door (problem which I solved), meanwhile (the Tag) it must stay fixed in the middle of the opening, even when I am scaling the door (problem which I haven't solved). I am attaching three blocks: 1) DOORTAG_0 is the main file I created with all the features I would like to keep for the door (it lacks, basically only of the possibility to be rotated) 2) DOORTAG_1 is a first attempt about how to solve the problem (it is possible to rotate the door keeping the text horizontally but impossible to keep it in the centre when scaling) 3) DOORTAG_2 a second attempt which I solved with polar stretch. However this structure of commands doesn't allow me to properly scale the door. If someone could check this issue, or have a look at my file, it would be so much appreciated, and surely of great help. Thousands thanks in advance, Andrea. DOORTAG_0.dwg DOORTAG_1.dwg DOORTAG_2.dwg
  14. I'm trying to figure out how to accomplish this. I *think* I'm able to do it via block properties - but I'd rather not use a block properties table if I can avoid it. If only because there's a limit of 1 block properties table per block and I want to save that for other purposes. Attached is a sample block. It's just a square with a notch in one side, filled with a hatch. Using the lookup table, and the defined stretch actions, I can grow the block to any of the desired 4 sizes. But I want more. I want grips that will let me re-size the block by dragging - but it needs to retain the proportions. If I drag in the Y axis, the X-axis doesn't update. If I pull the left side, the right side doesn't update (and neither does the Y axis). I've tried various combinations of stretch, scale, and constraints - so far I've come up empty. StretchSample.dwg
  15. I am attempting to create a Dynamic Block for electrical home runs that behaves similarly to home runs in Revit. Essentially it is a Spline with (3) Control Vertices and an Arrowhead at opposite end from the Basepoint. I have created the Dynamic block to include the desired visible elements and I've gotten the Spline to behave correctly using Stretch Actions. The only problem I am having is that I can't get the Arrowhead to follow the end of the Spline correctly. I would like it to "bend around" with the Spline but it wants to stay at a fixed angle. If anyone can point me in the right direction (pun intended) or modify the attached example of my Dynamic Block, that would be appreciated. Also, I am aware there is an Mleader Style that utilizes a Spline instead of a straight line. However, the Spline is based on Fit Points instead of Control Vertices and simply does not behave the way we need it to, thus the reason for the Dynamic Block. HOME-RUN.dwg
  16. All Steel Shapes with different environment now in one block. Shapes>>> Beam,Channel, Tee, Equal/Un-Equal Angle Environment>>>American, European, British, Japanese Download Block: https://jentertain.blogspot.com/2019/12/dynamic-block-of-steel-shapes-metric.html
  17. I have shared a Dynamic Block and you can download through the link below and also can watch video that demonstrate it how to use 2D dynamic block to develop a flat pattern of a cylinder that has been oblique Section. Dynamic Block Download Link
  18. Dynamic Block Pressure Vessel Dish head 2:1 Elliptical head Dish Head All Types.dwg
  19. Dynamic Block of ASME B16.5 Flanges Rating 150# 300# 400# 600# 900# 1500# 2500# Sizes From 1/2" to 24" Watch The video of Dynamic Block Block https://www.youtube.com/watch?v=sdFtOPWggFo ASME B16.5 Flange Plan.dwg
  20. Hi, I need your help on creating a dynamic block of a steel roof. Here is the basic element of the steel roof which I need to repeat, the hidden line being the beginning and ending of the steel sheet. I have tried the array action without success. My only solution is to use xclip on an imaginary large steel roof but doing it with a dynamic block will be just great. Thanks. Steel Roof Dynamic Block.dwg
  21. I have a dynamic block for section cuts and I need the interior line to adapt stretch to to be trimed by the contour when I turn it. this is the block when I select it for the time being. My current work around is that I have the line constrained with a stretch that I manually need to bring to the edge. I also have a visibility state so I can pass from section with page or same page is there a way to place the same attribute (Not two as I currently have) in two location depending on the state? Is there someone who knows how to make this work? with just the flip and the turn. I also have a visibility state so I can pass from section with page or same page is there a way to place the same attribute in two location depending on the state? thanks
  22. Hi, I´m trying to make a dynamic "AND/OR" block for some logic diagrams. I want the block to be dynamic in two ways: 1. Number of inputs 2. Each individual input should have the option: inverted (circle) or not inverted (straight line). I can´t manage to get this to work and as far as I have googled it might even be impossible... but maybe someone here have a clever mind to make this work. BR, ripuz
  23. Dear Members, I have some stretchable dynamic Blocks. I would like to insert and change the length of them in command line. (without use my mouse and grip points) i havent got any problem with the insertation but i cant change the length of this bloks without using mouse. in Properties window there is a section (custom) where i can change the length of the blocks but when i type in command line: change-properties, there i cant find it. just the following options: color, elev, layer, ltype, ltscale, lweight thickness, transparency, materia, annotative Do you have any idea, how could i manage this problem? thanks your answer
  24. Hi, I want a LISP routine which can insert blocks along the polyline. I have two dynamic blocks. They are 'Straight Duct' and 'Elbow90'. Consider I draw a polyline with three XY coordinates i.e. (1,1) , (1,2) and (2,2) and insert rectangular block with desired 'Width'. Here are list of things I want from LISP program: 1. I want 'Straight Duct' to be inserted at mid-points of '(1,1) & (1,2)' and '(1,2) & (2,2)'. 2. Also, those inserted blocks should be rotated with an angle made by those points with horizontal so that 'Straight Duct' remains along the line. Example, Angle made by line joining points '(1,1) & (1,2)' with horizontal is 90 Deg. Hence, Dynamic Block should be rotated by 90 degree about midpoint. 3. Move the grip of 'Straight Duct' (which facing to open end of polyline) to the open end of polyline. Move other grip of 'Straight Duct' to the length of (150+ Width/2) mm less than the intersection point. 4. Insert 'Elbow90' at the point with polar angle 45 Degree to point of intersection and polar radius (150 + Width/2) mm. Also, the grip of elbow should be moved so that width of 'Elbow90' should be as same as that of 'Straight Duct'. Pls refer the attached file for understanding the problem. Can anyone help me out? HVAC Dynamic Blocks 24.04.2018.dwg
  25. Hi All, I'm very new to these so please be nice! Basically our company cuts heaps of metal panels. We draw each panel, do the cutting lists, nest and optimise them on sheets manually. I'm trying to save some time by creating a block that'll make life a bit easier. So I've currently got a block where you can input the height and width & it automatically adjusts. What I'd like to add is an atrribute? or a tag? where that little box pops up and you can input the height & width in there instead. Additionally I'd like the pop up box to include the panel # which is then shown on the panel (see drawing where I've just added in 'a1', 'a2' etc). Next step would be to include a table that collates the information from all the panels (we often do around 30 panels per order). Currently we manually input all the sizes in to excel. Just to make things more interesting we use metric autocad but are often given dimensions in imperial, so half the time is spent manually converting feet & inches into mm and then drawing the panels in mm. If there's any way to input in imperial and show both metric and imperial on the dimension line that would just be the best thing ever! I might be being a bit greedy with so many requests so if anyone could help with just one of the above it would be very much appreciated. Thankyou trial.dwg
  • Create New...