jasonle215 Posted August 2, 2015 Share Posted August 2, 2015 Hi guys, I'm using autocad 2010 and I'm new to autolisp. I hope you guys could help me with this problem (image below) I'm still learning autolisp and I dont know how to create blocks or insert an existing block to specific chosen coordinates. Also, through this problem above could you also please demonstrate how to copy a object (or block) to even space? Thank you very much!!! Quote Link to comment Share on other sites More sharing options...
David Bethel Posted August 2, 2015 Share Posted August 2, 2015 This should be a start: [b][color=BLACK]([/color][/b]defun c:rectcir [b][color=FUCHSIA]([/color][/b]/ x hx y hy e mx xp xd qt sp[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]initget 6[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq x [b][color=NAVY]([/color][/b]getdist [color=#2f4f4f]"\nRectangle X Axis <5000>: "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]or x [b][color=NAVY]([/color][/b]setq x 5000.[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq hx [b][color=NAVY]([/color][/b]* x 0.5[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]initget 6[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq y [b][color=NAVY]([/color][/b]getdist [color=#2f4f4f]"\nRectangler Y Axis <250>: "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]or y [b][color=NAVY]([/color][/b]setq y 250.[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq hy [b][color=NAVY]([/color][/b]* y 0.5[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]initget 6[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq e [b][color=NAVY]([/color][/b]getdist [color=#2f4f4f]"\nX Axis End Spacer <200>: "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]or e [b][color=NAVY]([/color][/b]setq e 200.[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]initget 6[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq mx [b][color=NAVY]([/color][/b]getdist [color=#2f4f4f]"\nX Axis Max Spaces <450>: "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]or mx [b][color=NAVY]([/color][/b]setq mx 450.[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [color=#8b4513];;;CREATE THE BLOCK[/color] [b][color=FUCHSIA]([/color][/b]and [b][color=NAVY]([/color][/b]not [b][color=MAROON]([/color][/b]tblsearch [color=#2f4f4f]"BLOCK"[/color] [color=#2f4f4f]"CENTER"[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"BLOCK"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 2 [color=#2f4f4f]"CENTER"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 70 0[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]list 10 0 0 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 62 5[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 10 [b][color=BLUE]([/color][/b]list 0 -100 0[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 11 [b][color=BLUE]([/color][/b]list 0 100 0[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 62 5[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 10 [b][color=BLUE]([/color][/b]list 50 -65 0[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 11 [b][color=BLUE]([/color][/b]list -50 -65 0[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 62 5[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 10 [b][color=BLUE]([/color][/b]list 50 65 0[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 11 [b][color=BLUE]([/color][/b]list -50 65 0[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"CIRCLE"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 62 1[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 10 [b][color=BLUE]([/color][/b]list 0 -65 0[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 40 20[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"CIRCLE"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 62 1[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 10 [b][color=BLUE]([/color][/b]list 0 65 0[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 40 20[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"ENDBLK"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [color=#8b4513];;;MAKE THE REECTANGLE[/color] [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cons 10 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- hx[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- hy[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cons 11 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- hx[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ hy[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cons 10 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ hx[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- hy[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cons 11 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ hx[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ hy[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cons 10 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- hx[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ hy[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cons 11 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ hx[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ hy[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cons 10 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- hx[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- hy[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cons 11 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ hx[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- hy[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [color=#8b4513];;;FIND THE INSERT POINT DATA[/color] [b][color=FUCHSIA]([/color][/b]setq xp [b][color=NAVY]([/color][/b]+ [b][color=MAROON]([/color][/b]- hx[b][color=MAROON])[/color][/b] e[b][color=NAVY])[/color][/b] [color=#8b4513];1st X axis Value[/color] xd [b][color=NAVY]([/color][/b]- x e e[b][color=NAVY])[/color][/b] [color=#8b4513];Total X axis distance[/color] qt [b][color=NAVY]([/color][/b]1+ [b][color=MAROON]([/color][/b]fix [b][color=GREEN]([/color][/b]/ xd mx[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [color=#8b4513];Qty of spaces[/color] sp [b][color=NAVY]([/color][/b]/ xd qt[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [color=#8b4513];X axis spacing[/color] [color=#8b4513];;;CREATE THE INSERTS[/color] [b][color=FUCHSIA]([/color][/b]repeat [b][color=NAVY]([/color][/b]1+ qt[b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"INSERT"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 2 [color=#2f4f4f]"CENTER"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]list 10 xp 0 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq xp [b][color=MAROON]([/color][/b]+ xp sp[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b] Assumptions : I named the block "CENTER" The red circles looked to have a radius of 20 ( not diameter ) I centered the rectangle at 0,0,0 Alternately : Make the fist INSERT, then (command "_.COPY" (entlast) "" ... Make the fist INSERT, then (command "_.ARRAY" "_R" (entlast) "" ... Make the INSERT a single MINSERT Have fun! -David Quote Link to comment Share on other sites More sharing options...
jasonle215 Posted August 3, 2015 Author Share Posted August 3, 2015 Thanks mate. I'll try that and let you know Quote Link to comment Share on other sites More sharing options...
jasonle215 Posted August 3, 2015 Author Share Posted August 3, 2015 it works!!!! thank you very much Quote Link to comment Share on other sites More sharing options...
David Bethel Posted August 3, 2015 Share Posted August 3, 2015 You're welcome -David Quote Link to comment Share on other sites More sharing options...
BIGAL Posted August 4, 2015 Share Posted August 4, 2015 Have a look at this post also http://www.cadtutor.net/forum/showthread.php?93337-HELP-Stretching-and-Shrinking-problem/page2 Quote Link to comment Share on other sites More sharing options...
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.