明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: scrsyan

请帮忙编一个绘制号码球的小程序。

  [复制链接]
发表于 2004-2-27 18:55:00 | 显示全部楼层
這幾個檔案給你是看看



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


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



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2004-2-27 20:18:00 | 显示全部楼层
meflying发表于2004-2-26 21:14:00如果程序写好了,插入块就显得麻烦了,因为好改变圆的大小,文字内容等, to 晓雨:程序这么长是因为考虑了很多问题过程的动态显示、输入的人性化考虑、避免使...

哦。。。版主高见! 我看这什么球球就好比建筑轴线,无论理正,天正,天奇都是用的块插入。感情版主比他们都棋高一招啊,:)领教了
发表于 2004-2-27 20:23:00 | 显示全部楼层
呵呵,有时候为了一个简单的问题没有必要那么复杂,不久是个序号么?
发表于 2004-2-27 20:49:00 | 显示全部楼层
无痕发表于2004-2-27 20:18:00以下是引用meflying在2004-2-26 21:14:07的发言:如果程序写好了,插入块就显得麻烦了,因为好改变圆的大小,文字内容等,...
有时候要量力而行,DIM标注也是块的方式,其参数化及可编辑性,你能做到吗?即使能做到,你觉得这个标注功能模块是简单就能完成的吗?
  1. 比他们棋高一招有什么不可以吗?
复制代码
发表于 2004-2-28 00:45:00 | 显示全部楼层
dim如何“参数化及可编辑性”?说说。 说不定我也可以做到呢:) 块怎么不好了?改圆大小,文字,裁减隐线,都可以啊,而且圆圈和文字“联结”,不会随便乱跑。
发表于 2004-3-26 10:15:00 | 显示全部楼层
能够解决!
发表于 2004-3-26 12:29:00 | 显示全部楼层
本帖最后由 作者 于 2004-3-27 8:45:24 编辑

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2004-3-26 12:44:00 | 显示全部楼层
使用删除再画总是太慢,拖动过程停顿现象比较严重,我觉得使用entmod修改块插入点和直线终点会比较好。
发表于 2004-3-26 14:07:00 | 显示全部楼层
本帖最后由 作者 于 2004-3-26 20:37:40 编辑

修改后的代码见上.效果好一点.受教了
发表于 2004-3-26 20:39:00 | 显示全部楼层
现学现用.贴给大家共同讨论... ;ljc 2004.3
(defun c:xh(/ xx xxx cm tc os zg pt1 ss pt2 pt3 pa)
(setq cm(getvar "cmdecho") tc(getvar "clayer") os(getvar "osmode"))
(setq Dscale( getvar "dimscale"))
(setq zg (* 4 dscale) r1 (* 3.5 dscale) )
(setvar "cmdecho" 0)
(setvar "osmode" 0)
(setq pt1(getpoint "\n 请输入起点:"))
(while (/= nil pt1)
(progn
(setq ss (ssadd))
(command "-layer" "m" "dim" "c" "7" "" "")
(command "circle" pt1 r1 )
(setq ss (ssadd (entlast) ss))
(command "move" (entlast) "" pt1 pause )
(setq pt2 (cdr (assoc 10 (entget(entlast)) )) )
(setq pa(angle pt2 pt1))
(setq pt3 (polar pt2 pa r1))
(command "line" pt1 pt3 "")
(setq ss (ssadd (entlast) ss))
(command "-layer" "m" "text" "c" "3" "" "")
(setq xx(getstring "\n请输入零件号:"))
(if (= "" xx) (setq xx xxx))
(command "text" "j" "m" pt2 zg 0 xx)
(setq ss (ssadd (entlast) ss))
(command "-group" "c" "*" "" ss "")
(setq xxx xx)
(setq pt1(getpoint "\n 请输入起点:"))
)
)
(setvar "cmdecho" cm)
(setvar "osmode" os)
(setvar "clayer" tc)
(print)
) 1.提示输入零件号,输入空格---标注与上一次相同. 2.零件号字高为当前尺寸全局比例的4倍,写在text层,颜色为绿色. 3.线和圆在dim层为白色,圆半径为尺寸全局比例的3.5倍. 4.支持任意字串的标注如:1a,1b,a b ,abc....
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 23:54 , Processed in 0.180708 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表