sachindkini 发表于 2010-6-5 17:27:00

[求助]Request autolisp room size & area

<p>&nbsp;</p>
<p>dear sir</p>
<p>&nbsp; </p>
<p>I'm not a programmer i want add dialog box in this lisp &amp; some feture</p>
<p>please help me the create a new lisp</p>
<p>See attached file</p>

ZZXXQQ 发表于 2010-6-5 22:09:00

<p>Sorry I con't&nbsp;download your viewfile.</p>

mccad 发表于 2010-6-5 22:31:00

<p>When post,please don't use google translate.</p>
<p>&nbsp;</p>

sachindkini 发表于 2010-6-7 12:57:00

lisp req

<p>dear sir,</p>
<p>&nbsp; </p>
<p>Sorry for trouble in downloading<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></p>
<p>&nbsp;</p>
<p>see attched file</p>

sachindkini 发表于 2010-6-7 12:59:00

ZZXXQQ发表于2010-6-5 22:09:00static/image/common/back.gifSorry I con't&nbsp;download your viewfile.


<p>dear sir,</p>
<p>&nbsp; </p>
<p>Sorry for trouble in downloading</p>
<p>I’m again upload the file<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></p>

ZZXXQQ 发表于 2010-6-7 16:21:00

本帖最后由 作者 于 2010-6-7 21:06:16 编辑

Dialog:

dcl_settings : default_dcl_settings { audit_level = 3; }
room : dialog {
label="Room Name & Size Setup";
:row {
:boxed_column {
   label="Room Name Setting";
   :popup_list{label="Room Name :";key="roomn";edit_width=10;list="";}
   :popup_list{label="Layer:";key="lay1";edit_width=10;list="";}
   :edit_box{label="Text Height:";key="txth1";edit_width=10;list="";}
   :popup_list{label="Text Style:";key="txts1";edit_width=10;list="";}
}
:boxed_column {
   label="Room Size Setting";
   :popup_list{label="Layer:";key="lay2";edit_width=10;list="";}
   :edit_box{label="Text Height:";key="txth2";edit_width=10;list="";}
   :popup_list{label="Text Style";key="txts2";edit_width=10;list="";}
   :edit_box{label="Precision:";key="prec"; edit_width=10;list="";}
   :edit_box{label="Liner Scale Factor";key="lsc";edit_width=10;list="";}
}
}
:row{
:boxed_column{
   label="Alternet Room Size Setting";
   :edit_box{label="Text Height:";key="txth3";edit_width=10;}
   :popup_list{label="Text Style:";key="txts3";edit_width=10;}
   :popup_list{label="Layer:";key="lay3";list="";edit_width=10;}
   :toggle{label="Alternet Unit:";key="alter";edit_width=10;value="0";}
}
:column{
   :row{
    :boxed_column{
   label="Area";
   :toggle{label="Area in S.q.Mt.";key="sqmt";value="0";}
   :toggle{label="Area in S.q.Ft.";key="sqft";value="0";}
    }
    :boxed_column{
   label="Text Rotation";
   key="txtway";
   :radio_column{
      :radio_button{label="Horizontal";key="hor";}
      :radio_button{label="Vertical";key="ver";}
   }
   :edit_box{label="Angle";key="ang";}
    }
   }
   spacer;
   ok_cancel;
}
}
}

Some lisp code

(defun c:RM (/ roomname roomsz)
(defun roomname ()
(textpage)
(princ "\nROOMNAME OPTIONS: ")
(princ "\n\t Living   Kitchen    Bed   Toilet ")
(princ "\n\t Office   SHop       STore   STUdy")
(princ "\n\t Dining   Puja       BAth    W.c. = WC")
(princ "\n\t LIft = LT    LObby      S.toi.Living/dining = LD ")
(princ "\n\nPress any key to return to your drawing ")
(grread)
(princ "\r                                          ")
(graphscr)
)       ;End of roomname
(defun roomsz (/ p1 p2 p3 p4 x x1 y y1 tx h ht1 rm op pl pm tm ft rsz pll)
(sharad)
(if (null txlay) (progn
   (setq txlay "tx")
   (setq txlayer (tblsearch "layer" txlay))
   (if (null txlayer) (progn
    (setq txlay (getstring "\nLayer name for TEXT : "))
    (setq txclr (getstring (strcat "\nColor for " txlay " layer: ")))
    (command "layer" "m" txlay "c" txclr "" "")
   )
    (prompt "\nTEXT ON TX LAYER")
   )
))
(setvar "osmode" 32)
(menucmd "p0=filters") (menucmd "p0=*")
(if (null ht) (setq ht "250"))
(setq p1 (getpoint "\nPick room corner: ")
      p2 (getcorner p1 "\nPick Diagonally opposite corner: ")
      p3 (list (car p2)(cadr p1)) p4 (list (car p1)(cadr p2))
      a(distance p1 p3) b (distance p1 p4)
      x(* 0.001 a) y (* 0.001 b) x1 (rtos x 2 2) y1 (rtos y 2 2)
      mt (strcat x1 "x" y1))
(setq ix (cvunit x "meter" "inch") iy (cvunit y "meter" "inch")
      xf (rtos ix 4 0) yf (rtos iy 4 0) ft (strcat xf "x" yf))
(PROMPT "\nENTER FOLLOWING KEYWORD OR TY FOR TYPE")
(setq cnt T)
(while cnt
   (initget 1 (strcat "Living Kitchen Bed Toilet "
                      "Office SHop STore STUdy "
                      "Dining Puja BAth WC TY ? "
                      "LT LObby S.toi. LD "))
   (setq rm (getkword
      "\nROOM NAME = Liv/Bed/Kit/Toi/Off/Din/SHop/BAth/WC/STore/STUdy/S./LT/LD/LO/TYpe/?:"))
   (if (/= (type rm) 'LIST)
    (if (= rm "?") (progn
   (roomname)
   (setq cnt T)
    ) (progn
   (setq cnt nil)
   (if (= rm "LT") (setq rm "LIFT"))
   (if (= rm "LD") (setq rm "living/dining"))
   (if (= rm "WC")(setq rm "W.C."))
   (IF (= rm "TY") (setq rsz (strcase (getstring t "\nTYPE ROOM NAME: ")))
      (setq rsz (strcase rm))
   )
    ))
    (setq cnt nil)
   )
)
(setq tm (strcase (getstring (strcat "\nENTER TEXT HEIGHT <" ht ">:")) t))
(if (/= tm "")(setq ht tm))
(setq h (atof ht) ht1 (* h 0.88888) dt (* h 1.7))
(setvar "osmode" 0)
(setvar "orthomode" 1)
(setq ht1 (fix ht1))
(setq pc (polar p1 (angle p1 p2) (/ (distance p1 p2) 2))
      pm (polar pc (* pi 1.5) (/ h 3.55))
      pt (polar pc (/ pi 2) dt) pf (polar pc (* pi 1.5) dt))
(command "layer" "t" txlay "on" txlay "s" txlay ""
         "text" "s" "rD" "m" pt h "0" rsz)
(setq pm2 (getpoint pm "\nENDPOINT OF TEXT: ")
      PM1 (polar pm pi (distance pm pm2))
      pf1 (polar pf pi (distance pm pm2))
      pf2 (polar pf 0(distance pm pm2)))
(command "text" "s" "rs" "f" pm1 pm2 ht1 mt
         "text" "f" pf1 pf2 ht1 ft)
)
(defun readata ()
(setq roomname (nth(atoi(get_tile "roomn")) roomlist)
      lay1 (nth(atoi(get_tile "lay1")) laylist)
      txth1 (atoi(get_tile "txth1"))
      txts1 (nth(atoi(get_tile "txts1")) txtslist)
      lay2 (nth(atoi(get_tile "lay2")) laylist)
      txth2 (atoi(get_tile "txth2"))
      txts2 (nth(atoi(get_tile "txts2")) txtslist)
      prec (atoi(get_tile "prec"))
      lsc (atoi(get_tile "lsc"))
      txth3 (get_tile "txth3")
      txts3 (nth(atoi(get_tile "txts3")) txtslist)
      lay3 (nth(atoi(get_tile "lay3")) laylist)
      alter (= (get_tile "alter") "1")
      sqmt (= (get_tile "sqmt") "1")
      sqft (= (get_tile "sqft") "1")
      txtway (= (get_tile "txtway") "Vertical")
      ang (read(get_tile "ang")))
)
(defun showlist ()
(setq roomlist '("living" "kitchen" "bedroom" "toilet")
      laylist '("Layer-1" "Layer-2" "Layer-3" "Layer-4" "Layer-5")
      txtslist '("Style-1" "Style-2" "Style-3" "Style-4" "Style-5"))
(start_list "roomn")(mapcar 'add_list roomlist)(end_list)
(start_list "lay1")(mapcar 'add_list laylist)(end_list)
(start_list "txts1")(mapcar 'add_list txtslist)(end_list)
(start_list "lay2")(mapcar 'add_list laylist)(end_list)
(start_list "txts2")(mapcar 'add_list txtslist)(end_list)
(start_list "lay3")(mapcar 'add_list laylist)(end_list)
(start_list "txts3")(mapcar 'add_list txtslist)(end_list)
(set_tile "roomn" "0")
(set_tile "lay1" "0")
(set_tile "txts1" "0")
(set_tile "lay2" "1")
(set_tile "txts2" "1")
(set_tile "lay3" "2")
(set_tile "txts3" "2")
(set_tile "txth1" "250")
(set_tile "txth2" "250")
(set_tile "txth3" "250")
(set_tile "prec" "2")
(set_tile "lsc" "1.000")
)
(if (> (setq dcl_id (load_dialog "room")) 0) (progn
(if (new_dialog "room" dcl_id "") (progn
   (showlist)
   (action_tile "accept""(readata) (done_dialog 1)")
   (action_tile "cancel" "(done_dialog 0)")
   (setq re (start_dialog))
)
   (alert "Unable to display dialog box!")
)
(unload_dialog dcl_id)
)
(alert "Unable to load dialog box!")
)
(if (= re 1) (progn
;add code
))
)

sachindkini 发表于 2010-6-7 16:36:00

<p>dear sir</p>
<p>thx for quick reply &amp; thx for dcl file</p>
<p>&nbsp;</p>
<p>Request modify share lisp add all fuction on this lisp</p>
<p><strong>this lisp is not written me</strong></p>
<p><strong>i'm not programer</strong></p>
<p>&nbsp;</p>
<p>i request u for written this progrma</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

sachindkini 发表于 2010-6-7 16:41:00

The following is a quotesachindkiniIn 2010-6-7 16:36:00's statement:
dear sir
thx for quick reply & thx for dcl file

Request modify share lisp add all fuction on this lisp
this lisp is not written me
i'm not programer

i request u for written this progrma
or new lisp




ZZXXQQ 发表于 2010-6-7 21:08:00

<p>6 floor was changed.</p>

sachindkini 发表于 2010-6-8 01:27:00

dear sir,<div>thx again</div><div>try this program&nbsp;</div><div>but his not working</div>
页: [1] 2
查看完整版本: [求助]Request autolisp room size & area