K P Senthil Kumar Posted June 12, 2010 Share Posted June 12, 2010 hi gud afternoon i need help regarding this. Arranging single a block in specified area with equally divided fixture points in the select object, which i shown in drawing. for example i want 2 calculate how many fixture in that area(may be rectangular r polyline ect...). regards, kpsk dwg.dwg Quote Link to comment Share on other sites More sharing options...
David Bethel Posted June 12, 2010 Share Posted June 12, 2010 There are lots of ways to approach this. What are your known parameters? Minimum / maximum spacings between fixtures? Number of fixtures per sq ft? Room size? -David Quote Link to comment Share on other sites More sharing options...
K P Senthil Kumar Posted June 12, 2010 Author Share Posted June 12, 2010 hi David , actually X & Y value should given by manually. For example one fixtures will cover 12 sqm (i.e 4 x 3 = 12 , in this x =3 & Y = 4). so that i can calculate hw many fixture can occupy in that room. regards, kpsk Quote Link to comment Share on other sites More sharing options...
David Bethel Posted June 12, 2010 Share Posted June 12, 2010 If the fixture coverage is a square I'd try something like this: [color=#8b4513];++++++++++++ Get RECTANGLE +++++++++++++++++++++++++[/color] [b][color=BLACK]([/color][/b]defun getrect [b][color=FUCHSIA]([/color][/b]/ p1 p2[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]initget 1[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq p1 [b][color=NAVY]([/color][/b]getpoint [color=#2f4f4f]"\n1st Corner: "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]initget 1[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq p2 [b][color=NAVY]([/color][/b]getcorner p1 [color=#2f4f4f]"\n2nd Corner: "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq ll [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]min [b][color=GREEN]([/color][/b]car p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]car p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]min [b][color=GREEN]([/color][/b]cadr p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]cadr p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]caddr p1[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] ur [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]max [b][color=GREEN]([/color][/b]car p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]car p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]max [b][color=GREEN]([/color][/b]cadr p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]cadr p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]caddr p1[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] lr [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]car ur[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cadr ll[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]caddr p1[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] ul [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]car ll[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cadr ur[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]caddr p1[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] [color=#8b4513];++++++++++++ Make A Fixture Block ++++++++++++++++++[/color] [b][color=BLACK]([/color][/b]defun checkblk [b][color=FUCHSIA]([/color][/b]/ sq[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]and [b][color=NAVY]([/color][/b]not [b][color=MAROON]([/color][/b]tblsearch [color=#2f4f4f]"BLOCK"[/color] [color=#2f4f4f]"FIXT"[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq sq [b][color=MAROON]([/color][/b]* [b][color=GREEN]([/color][/b]sqrt la[b][color=GREEN])[/color][/b] 0.5[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]"FIXT"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]list 10 0 0 0[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 70 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]"CIRCLE"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]list 10 0 0 0[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 40 1[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 39 0[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 6 [color=#2f4f4f]"BYLAYER"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 62 256[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 6 [color=#2f4f4f]"BYLAYER"[/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 39 0[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 62 2[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]list 10 [b][color=BLUE]([/color][/b]- sq[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- sq[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]list 11 [b][color=BLUE]([/color][/b]+ sq[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- sq[b][color=BLUE])[/color][/b] 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 6 [color=#2f4f4f]"BYLAYER"[/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 39 0[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 62 2[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]list 10 [b][color=BLUE]([/color][/b]- sq[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- sq[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]list 11 [b][color=BLUE]([/color][/b]- sq[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ sq[b][color=BLUE])[/color][/b] 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 6 [color=#2f4f4f]"BYLAYER"[/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 39 0[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 62 2[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]list 10 [b][color=BLUE]([/color][/b]+ sq[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ sq[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]list 11 [b][color=BLUE]([/color][/b]+ sq[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- sq[b][color=BLUE])[/color][/b] 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 6 [color=#2f4f4f]"BYLAYER"[/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 39 0[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 62 2[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]list 10 [b][color=BLUE]([/color][/b]+ sq[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ sq[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]list 11 [b][color=BLUE]([/color][/b]- sq[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ sq[b][color=BLUE])[/color][/b] 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]"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] [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b] [color=#8b4513];++++++++++++ Main Routine ++++++++++++++++++[/color] [b][color=BLACK]([/color][/b]defun c:fixt [b][color=FUCHSIA]([/color][/b]/ la a e q sq xq yq xs ys[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]initget 6[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq la [b][color=NAVY]([/color][/b]getdist [color=#2f4f4f]"\nArea of Coverage per Fixture <12>: "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]or la [b][color=NAVY]([/color][/b]setq la 12.[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]getrect[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]checkblk[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq a [b][color=NAVY]([/color][/b]* [b][color=MAROON]([/color][/b]- [b][color=GREEN]([/color][/b]car lr[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]car ll[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]- [b][color=GREEN]([/color][/b]cadr ul[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]cadr ll[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] e [b][color=NAVY]([/color][/b]/ a la[b][color=NAVY])[/color][/b] q [b][color=NAVY]([/color][/b]fix [b][color=MAROON]([/color][/b]if [b][color=GREEN]([/color][/b]zerop [b][color=BLUE]([/color][/b]rem e 1[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] e [b][color=GREEN]([/color][/b]1+ [b][color=BLUE]([/color][/b]fix e[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] sq [b][color=NAVY]([/color][/b]* [b][color=MAROON]([/color][/b]sqrt la[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] xq [b][color=NAVY]([/color][/b]1+ [b][color=MAROON]([/color][/b]fix [b][color=GREEN]([/color][/b]/ [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]car lr[b][color=RED])[/color][/b] [b][color=RED]([/color][/b]car ll[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] sq[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] yq [b][color=NAVY]([/color][/b]1+ [b][color=MAROON]([/color][/b]fix [b][color=GREEN]([/color][/b]/ [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]cadr ul[b][color=RED])[/color][/b] [b][color=RED]([/color][/b]cadr ll[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] sq[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] xs [b][color=NAVY]([/color][/b]/ [b][color=MAROON]([/color][/b]- [b][color=GREEN]([/color][/b]car lr[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]car ll[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] xq[b][color=NAVY])[/color][/b] ys [b][color=NAVY]([/color][/b]/ [b][color=MAROON]([/color][/b]- [b][color=GREEN]([/color][/b]cadr ul[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]cadr ll[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] yq[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]"INSERT"[/color][b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]cons 2 [color=#2f4f4f]"FIXT"[/color][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]list 10 [b][color=GREEN]([/color][/b]+ [b][color=BLUE]([/color][/b]car ll[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]* xs 0.5[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]+ [b][color=BLUE]([/color][/b]cadr ll[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]* ys 0.5[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] 0[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cons 45 ys[b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]cons 44 xs[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cons 71 yq[b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]cons 70 xq[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]princ [b][color=NAVY]([/color][/b]strcat [color=#2f4f4f]"\nEfficency - Minimun Req'd="[/color] [b][color=MAROON]([/color][/b]itoa q[b][color=MAROON])[/color][/b] [color=#2f4f4f]"\nQuantity Used="[/color] [b][color=MAROON]([/color][/b]itoa [b][color=GREEN]([/color][/b]* xq yq[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]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b] If the coverage is round or rectangular shape, then you will have to do some different calculations. -David Quote Link to comment Share on other sites More sharing options...
Tharwat Posted June 13, 2010 Share Posted June 13, 2010 Hi David. Really a very great Lisp program, I could not leave the Forum without giving you my best regards. I was looking also for a program as best as yours, but it needs some changes to suit my needs. So is there any problem if I tried to modify it according to what I need ? Although I may can and I may can not. Best Regards, Tharwat Quote Link to comment Share on other sites More sharing options...
manirpg Posted June 14, 2010 Share Posted June 14, 2010 Hi david, Nice one. if possible some changes i need output block by minsert we cant xplode and move one or some fixture. also need block should be selected one (user selection) user inputs require? 1.area cover 2.select block 3.select area boundary Thanks in advance Regards mani:D Quote Link to comment Share on other sites More sharing options...
David Bethel Posted June 14, 2010 Share Posted June 14, 2010 Hi David.So is there any problem if I tried to modify it according to what I need ? Although I may can and I may can not. Best Regards, Tharwat No problem at all if you modify it. Have fun and ping back if you need help. -David Quote Link to comment Share on other sites More sharing options...
David Bethel Posted June 14, 2010 Share Posted June 14, 2010 Hi david,Nice one. if possible some changes i need output block by minsert we cant xplode and move one or some fixture. also need block should be selected one (user selection) user inputs require? 1.area cover 2.select block 3.select area boundary Thanks in advance Regards mani:D Selecting a block is a simple change. Going by a boundary line would be a very complex routine. Rectangles an be addressed easily, Irregular PLINES would a real challenge. -David Quote Link to comment Share on other sites More sharing options...
manirpg Posted June 17, 2010 Share Posted June 17, 2010 hi, yes you said well, but i asked boundary means its rectangular only, so the rectangular should be selectable (some times we can't easily draw rectangle in such a big drawings) so select rec? option most welcome.................. Thanks Mani 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.