叶文军 发表于 2004-8-19 16:17:00

急!急!急!谁可以帮我改一下一个LISP自动生成程序?

<FONT color=#000000></FONT><FONT color=#000000></FONT><FONT color=#000000></FONT><BR>(defun c:zdt8( / pts pt pti ptn ptc ang params)<BR>       (init)<BR>       <FONT color=#f70968>(setq h 3.5)</FONT><BR>       (setq Scale (getstring "\n请输入比例尺&lt;1:200&gt;:"))<BR>       (if (= Scale "")<BR>                       (progn<BR>                                       (setq Scale "1:200")<BR>                                       (setq nScale 1)<BR>                       )<BR>                       (progn<BR>                                       (setq nScale (/ (atof scale) 200))<BR>                                       (setq scale (strcat "1:" scale))<BR>                       )<BR>       )<BR>       (setq ent (car (entsel "\n请选择图形...")))<BR>       (setq pts (getpl ent))<BR>       (if (cadr (setq pt (Order (reverse pts))))<BR>                       (setq pts (reverse pts))<BR>       )<BR>       (setq pt (car pt))<BR>       (command "_.pedit" ent "w" 0.7 "")<BR>       (setcolor ent 1)<BR>       (OpPts pts pt h nscale)       <BR>       (getEnter ent h nscale scale "8kh" (* nscale 154) (* nscale 92))<BR>       (princ "\n\nEnd!")<BR>       (restore)<BR>       (princ)<BR>)



上面这个是我们用来制图的一个集标注和图框加载等各种程序于一体的宗地图自动生成程序的最后一部分,我想请大家帮我看一下,如何在里面加上一句,使得<FONT color=#f70968>(setq h 3.5)</FONT><FONT color=#000000>里面所指的h的值能够根据输入的比例尺大小实现自动缩放,例如我在用1:200的比例尺时,h的值是3.5,当我使用1:400的时候,h的值就应该是7.0才对,请教谁可以帮我一把.这里面的h指的是标注文字的大小<BR></FONT>

ZZXXQQ 发表于 2004-8-19 16:44:00

程序更改如下:


(defun c:zdt8( / pts pt pti ptn ptc ang params)<BR>       (init)<BR>       (setq h 3.5)<BR>       (setq nScale (getint "\n请输入比例尺1:? &lt;200&gt; : "))<BR>       (setq nScale (if (= nScale nil) 200 nScale))<BR>       (setq Scale (strcat "1:" (itoa nScale)))<BR>       (setvar "dimscale" nScale);这里设定尺寸的总比例<BR>       (setq ent (car (entsel "\n请选择图形...")))<BR>       (setq pts (getpl ent))<BR>       (if (cadr (setq pt (Order (reverse pts))))<BR>                       (setq pts (reverse pts))<BR>       )<BR>       (setq pt (car pt))<BR>       (command "_.pedit" ent "w" 0.7 "")<BR>       (setcolor ent 1)<BR>       (OpPts pts pt h nscale)       <BR>       (getEnter ent h nscale scale "8kh" (* nscale 154) (* nscale 92))<BR>       (princ "\n\nEnd!")<BR>       (restore)<BR>       (princ)<BR>)<BR>

xyp1964 发表于 2004-8-19 22:59:00

程序不全,缺少子程序!
页: [1]
查看完整版本: 急!急!急!谁可以帮我改一下一个LISP自动生成程序?