CAT-MOUSE 发表于 2004-2-27 18:55:00

這幾個檔案給你是看看



不是我寫的 我從松崗圖書autolisp&dcl 裡著到的


翔虹autocad技術中心吳用進 林美櫻 編著



无痕 发表于 2004-2-27 20:18:00

meflying发表于2004-2-26 21:14:00static/image/common/back.gif如果程序写好了,插入块就显得麻烦了,因为好改变圆的大小,文字内容等,



to 晓雨:程序这么长是因为考虑了很多问题过程的动态显示、输入的人性化考虑、避免使...


<BR>哦。。。版主高见!


我看这什么球球就好比建筑轴线,无论理正,天正,天奇都是用的块插入。感情版主比他们都棋高一招啊,:)领教了

ljcgq 发表于 2004-2-27 20:23:00

呵呵,有时候为了一个简单的问题没有必要那么复杂,不久是个序号么?

meflying 发表于 2004-2-27 20:49:00

无痕发表于2004-2-27 20:18:00static/image/common/back.gif以下是引用meflying在2004-2-26 21:14:07的发言:如果程序写好了,插入块就显得麻烦了,因为好改变圆的大小,文字内容等,...有时候要量力而行,DIM标注也是块的方式,其参数化及可编辑性,你能做到吗?即使能做到,你觉得这个标注功能模块是简单就能完成的吗?比他们棋高一招有什么不可以吗?

无痕 发表于 2004-2-28 00:45:00

dim如何“<FONT style="BACKGROUND-COLOR: #f3f3f3">参数化及可编辑性”?说说。</FONT>


<FONT style="BACKGROUND-COLOR: #f3f3f3">说不定我也可以做到呢:)</FONT>


<FONT style="BACKGROUND-COLOR: #f3f3f3">块怎么不好了?改圆大小,文字,裁减隐线,都可以啊,而且圆圈和文字“联结”,不会随便乱跑。</FONT>

liyunlong 发表于 2004-3-26 10:15:00

能够解决!

alin 发表于 2004-3-26 12:29:00

本帖最后由 作者 于 2004-3-27 8:45:24 编辑

meflying 发表于 2004-3-26 12:44:00

使用删除再画总是太慢,拖动过程停顿现象比较严重,我觉得使用entmod修改块插入点和直线终点会比较好。

alin 发表于 2004-3-26 14:07:00

本帖最后由 作者 于 2004-3-26 20:37:40 编辑

修改后的代码见上.效果好一点.受教了

ljcgq 发表于 2004-3-26 20:39:00

现学现用.贴给大家共同讨论...


;ljc 2004.3<BR>(defun c:xh(/               xx xxx cm tc os zg pt1 ss pt2 pt3 pa)<BR>        (setq cm(getvar "cmdecho") tc(getvar "clayer") os(getvar "osmode"))<BR>        (setq Dscale( getvar "dimscale"))<BR>        (setq zg (* 4 dscale)       r1 (* 3.5 dscale) )<BR>        (setvar "cmdecho" 0)<BR>        (setvar "osmode" 0)<BR>        (setq pt1(getpoint "\n 请输入起点:"))<BR>(while (/= nil pt1)<BR>        (progn<BR>        (setq ss (ssadd))<BR>        (command "-layer" "m" "dim" "c" "7" "" "")<BR>        (command "circle" pt1 r1 )<BR>        (setq ss (ssadd (entlast) ss))<BR>        (command "move" (entlast) "" pt1       pause )<BR>        (setq pt2 (cdr (assoc       10 (entget(entlast)) )) )<BR>        (setq pa(angle pt2 pt1))<BR>        (setq pt3 (polar pt2 pa r1))<BR>        (command "line" pt1 pt3 "")<BR>        (setq ss (ssadd (entlast) ss))<BR>        (command "-layer" "m" "text" "c" "3" "" "")<BR>        (setq xx(getstring "\n请输入零件号:"))<BR>        (if (= "" xx) (setq xx xxx))<BR>        (command "text" "j" "m" pt2       zg 0 xx)<BR>        (setq ss (ssadd (entlast) ss))<BR>        (command "-group" "c" "*" "" ss "")<BR>        (setq xxx xx) <BR>        (setq pt1(getpoint "\n 请输入起点:"))<BR>        )<BR>)<BR>        (setvar "cmdecho" cm)<BR>        (setvar "osmode" os)<BR>        (setvar "clayer"       tc)<BR>       (print)<BR>)


1.提示输入零件号,输入空格---标注与上一次相同.


2.零件号字高为当前尺寸全局比例的4倍,写在text层,颜色为绿色.


3.线和圆在dim层为白色,圆半径为尺寸全局比例的3.5倍.


4.支持任意字串的标注如:1a,1b,a b ,abc....<BR>
页: 1 [2]
查看完整版本: 请帮忙编一个绘制号码球的小程序。