CAD USER Posted February 9, 2016 Posted February 9, 2016 Dear all, First of all sorry for my poor English…. I am HVAC Draftsman. For purpose of project designing (Meeting room, Bed rooms, Lounge, Hall etc.) I have to make square ceiling diffusersor, round diffusers in between distances X2X basis I don’t know how to create lisp routine. If someone help me to create lisp routine as I want, it will be greatly appriciated lisp routine will work in below stages Stage: 1 1) Two folders will be created to linked with lisp routine Folder no.1- Square Diffusers (it will carry different sizes of square diffusers like 6x6" , 9x9", 12x12" 15x15" and 21x21") Folder no.2- round diffusers (it will carry round diffusers like dia 6", 8" ,10", 12", 14", 16", 18", 20") Stage: 2 1) select area (bed room or hall) by window 2) then choose how many rows you need of diffusers (for example 3 rows) 3) then choose how many column you need of diffusers (for example 3 column) (in this case total no. of diffuser will be 6 in particular room divided in X 2 X sequence) 4) then which size of ceiling diffusers you want to insert. (for 6x6" square ceiling diffuser TYPE 6, for round ceiling diffuser TYPE R6) Thanks in advance.. Quote
ksperopoulos Posted February 9, 2016 Posted February 9, 2016 Have you tried using AutoCAD's array command? It sounds like this would accomplish what you want to do. Just insert the block for whatever diffuser you need, and then perform the array command. Quote
ReMark Posted February 9, 2016 Posted February 9, 2016 You could go a step further and create a dynamic block for each of the two types of diffusers that incorporate all the different sizes. Insert one block select the size then array. Quote
BIGAL Posted February 10, 2016 Posted February 10, 2016 I think I get what you want pick two sides pick a diffuser and it arrays them working out the correct spacing. Quote
CAD USER Posted February 10, 2016 Author Posted February 10, 2016 Dear all, I tried array but i m not getting as i want, it's consuming more time, and its not distributing X2X sequence, it's distributing equal spacing. Quote
CAD USER Posted February 10, 2016 Author Posted February 10, 2016 Please find attached pic, actually it will be look like this when it will be x2x distances. Quote
Tharwat Posted February 10, 2016 Posted February 10, 2016 Diffusers must be inserted in order of Supply and Return and so on but if the return air goes through another system / apparatus so the all Diffusers would be with Supply type. Quote
CAD USER Posted February 10, 2016 Author Posted February 10, 2016 diffusers must be inserted in order of supply and return and so on but if the return air goes through another system / apparatus so the all diffusers would be with supply type. the return air will be through 'return air grill' as a free return. Quote
Tharwat Posted February 10, 2016 Posted February 10, 2016 the return air will be through 'return air grill' as a free return. Yes, that's what I meant in my last reply with the word apparatus. Quote
BIGAL Posted February 19, 2016 Posted February 19, 2016 Have a look at this and the comments about how to do. Even and odd. http://www.cadtutor.net/forum/showthread.php?95722-LISP-Code-To-Figure-Bolt-Centers-Along-a-Given-Length Quote
BKT Posted March 11, 2016 Posted March 11, 2016 CAD USER, You might experiment with something like this to get you started. You will need to change the directory to point to where your blocks are located and enter that at the setq for "blk". (defun c:X2X (/ blk rows cols pt1 pt2 rmhgt rmwdth x y offxy) (setq rows (getint "\nEnter Number of ROWS: ") cols (getint "\nEnter Number of COLUMNS: ") pt1 (getpoint "\nPick Lower Left Point: ") pt2 (getpoint pt1 "\nPick Upper Right Point: ") rmhgt (- (cadr pt2)(cadr pt1)) rmwdth (-(car pt2)(car pt1)) x (/ rmwdth cols) y (/ rmhgt rows) offxy (list (+ (car pt1) (/ x 2)) (+ (cadr pt1) (/ y 2))) blk (getfiled "Select Block to Insert" [color=red]"c:\\Users\\CAD\\"[color=black] "dwg"[/color][/color] 10)[color=red];; CHANGE AS NEEDED[/color] ) (command "._insert" blk "_non" offxy "" "" "") (command "._array" (entlast) "" "R" rows cols y x) (princ) ) Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.