找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: yinwh

[求助] [求助]:block命令,其中一个参数我不会用,请教!

[复制链接]
发表于 2003-2-27 08:27:54 | 显示全部楼层
太累了,MDT中有现成的,为什么不用呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2003-2-27 10:32:43 | 显示全部楼层
最初由 yinwh 发布
原来是这样。。谢谢了。


我做的是标零件序号的程序,每标一个就生成一个块,我这样定义块的名字:名字n(为全局变量)初值为1,每定义一次,自动加1。
这样的话,名字就不会重复
但是:当关闭文件再重新打开时?..


我做的是标零件序号的程序,每标一个就生成一个块,我这样定义块的名字:名字n(为全局变量)初值为1,每定义一次,自动加1。
这样的话,名字就不会重复
但是:当关闭文件再重新打开时?.. [/QUOTE]

1.关于画线,应该先输入点,根据自己要求提示,然后调用command画线。lisp程序调用command时,不管执行与否,返回值总是nil,只能用系统变量lastpoint找到最后一点。如果使用vlisp,还可以调用vl_cmdf函数,但在R14中将不可用。
2.块名记忆可以使用系统保留给用户useri1~5,或userr1~5,也可以使用匿名块。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-2-27 15:41:48 | 显示全部楼层
谢谢!!

我做好了!!

标水平方向零件序号的程序:

  1. (defun c:chmotor_xuhaoxianh()
  2.   (setvar "cmdecho" 0)           ;命令执行过程不响应
  3.   (setq oldos (getvar "osmode"))                                    ;保存当前捕捉模式  
  4.   (setq lname (getvar "clayer"))                                    ;保存当前图层
  5.   (command "layer" "set" 4 "")                                      ;将当前图层设为4层

  6.   (setvar "osmode" 1)                                               ;打开对象捕捉
  7.   (setq biaozhunxian1 (getpoint "\n输入序号线位置:"))              ;以下为取得基准线  
  8.   (setq biaozhunxian2 (polar biaozhunxian1 0 10))
  9.   (setvar "osmode" 0)                                               ;关闭对象捕捉
  10.   (setq biaozhunxian3 (polar biaozhunxian1 4.71 3))                                      
  11.   (command "line" biaozhunxian3 (polar biaozhunxian3 0 600) "")     ;画一条对齐的线,并将其加入选择集tt,以备程序结束时删除
  12.   (setq zhunxian (entlast))
  13.   (setq tt (ssadd))  
  14.   (setq tt (ssadd (entlast) tt))
  15.   
  16.       ;以下为定出序号线引线的位置
  17.   (setq ans "Yes")
  18.   (while (= ans "Yes")
  19.     (initget 1)
  20.     (setq xuhaoxian1_qidian (getpoint "\n输入序号线起点:"))  ;取得起点坐标
  21.     (initget 1)
  22.     (setq xuhaoxian1_zhongdian (getpoint "\n输入序号线转折点位置:")) ; 取得转折点大概位置
  23.     (setq xuhaoxian1_zhuandian (inters xuhaoxian1_qidian xuhaoxian1_zhongdian biaozhunxian1 biaozhunxian2 nil))  ;取得真正的转折点坐标
  24.     (setq xuhaoxian2_zhongdian (polar xuhaoxian1_zhuandian 0 10))         ;取得短横线的终点坐标
  25.   
  26.     (setq ss (ssadd))                                                     ;画出序号线并将其加入选择集ss
  27.     (command "line" xuhaoxian1_qidian xuhaoxian1_zhuandian "")
  28.     (setq ss (ssadd (entlast) ss))
  29.     (command "line" xuhaoxian1_zhuandian xuhaoxian2_zhongdian "")
  30.     (setq ss (ssadd (entlast) ss))

  31.     (initget 1)                                                            ;以下为输入序号值,10以上和10以下的值文字起点不同
  32.     (setq xuhao (getint "\n输入序号:"))                 
  33.        (if (> xuhao 9)
  34.        (progn
  35.          (command "text" (polar xuhaoxian1_zhuandian 1 2.5) 5 0 xuhao)
  36.          (setq ss (ssadd (entlast) ss))
  37.        )
  38.        (progn
  39.          (command "text" (polar xuhaoxian1_zhuandian 0.52 4) 5 0 xuhao)
  40.          (setq ss (ssadd (entlast) ss))
  41.        )
  42.        )
  43.   
  44.   (setq kuaiming (strcat (rtos xuhao) (rtos (distance xuhaoxian1_qidian xuhaoxian1_zhongdian)) (rtos (angle xuhaoxian1_qidian xuhaoxian1_zhongdian))))  ;用第一条序号线的长度、弧度与序号名合成一个块名,以防止块名重复

  45.   (command "block" kuaiming xuhaoxian1_qidian ss "")             ;生成块
  46.   (command "insert" kuaiming xuhaoxian1_qidian 1 1 0)            ;插入块
  47.   (initget "Yes No")
  48.   (setq ans (getkword "\n继续绘制序号线?(Y/N):"))
  49.   (if (null ans) (setq ans "Yes"))
  50.   )
  51.   
  52.   (command "erase" tt "")                               ;删除最初定义的对齐线

  53.   (command "layer" "set" lname "")  ;还原图层设置
  54.   (setvar "osmode" oldos) ;还原捕捉模式
  55.   
  56.   (prin1)
  57.   
  58. )
  59.      



lijiao您说的MDT,我听说过,但是没接触过,容易找吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-5-7 04:32 , Processed in 0.166433 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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