明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1050|回复: 12

答疑

[复制链接]
发表于 2024-1-8 10:58:45 | 显示全部楼层 |阅读模式
  1. 答疑,哪位前辈能否帮忙看下,手绘命令调用有问题,不知道怎么调。<img src="http://bbs.mjtd.com/static/image/smiley/qq/em84.gif" border="0" smilieid="492" alt="">
  2. ;;; ======================================================================
  3. (defun c:sx ( / )
  4. (setvar "cmdecho"  0)
  5. (vl-load-com)
  6.   (command "_layer"   "m"   "DGWT-REV"     "c" "4" ""    ""    "")


  7. (command "_sketch"  ""  "T" "p" "I" "1"  ""  )

  8.    
  9.      
  10. (while (not (zerop (getvar "cmdactive")))(command pause))
  11. (Vlax-Put         (Vlax-Ename->Vla-Object(entlast)) 'ConstantWidth 20  );一个个来改属性
  12.   (Vla-Put-color  (Vlax-Ename->Vla-Object(entlast))   181  )
  13.   (Vla-Put-layer  (Vlax-Ename->Vla-Object(entlast))  "DGWT-REV"  )
  14. ;;; (COMMAND "CHANGE"  (entlast)  "" "PROPERTIES" "la" "DGWT-REV"  "c"  "181"   "lw"  "4"   "") ;非全局宽度,显示可观
  15.   (princ)
  16. )


发表于 2024-1-8 18:57:49 | 显示全部楼层
ferious 发表于 2024-1-8 13:42
多谢,是草图,sketch。能帮忙再看下吗?

(command "_sketch"  ""  "T" "p" "I" "1"  ""  )

下次用下边的回复 我能更快的看到
  1. (defun c:sx (/ bjty lm-entmake-layer make-ssadd obj ss ss-enlst)
  2.         (defun make-ssadd (en / lst)
  3.                 (if en
  4.                         (progn
  5.                                 (while (setq en (entnext en))
  6.                                         (if (not (member (cdr (assoc 0 (entget en)))
  7.                                                                                  '("ATTRIB" "VERTEX" "SEQEND")
  8.                                                                          )
  9.                                                         )
  10.                                                 (setq LST (cons en LST))
  11.                                         )
  12.                                 )
  13.                                 (ss-enlst (reverse LST))
  14.                         )
  15.                         (ssget "X")
  16.                 )
  17.         )
  18.         (defun ss-enlst (ss / enlst)
  19.                 (cond
  20.                         ((= (type ss) 'PICKSET)
  21.                                 (vl-remove-if-not '(lambda (x) (= (type x) 'ENAME)) (mapcar 'cadr (ssnamex SS)))
  22.                         )
  23.                         ((= (type ss) 'LIST)
  24.                                 (setq enlst (ssadd))
  25.                                 (last (mapcar '(lambda (x) (ssadd x enlst)) ss))
  26.                         )
  27.                 )
  28.         )
  29.         (setvar "cmdecho" 0)
  30.         (vl-load-com)
  31.         (if(null(tblsearch "layer" "DGWT-REV"))
  32.                 (command "_layer" "n" "DGWT-REV" "c" "4" "DGWT-REV" "")
  33.         )
  34.         (setq bjty (entlast))
  35.         (command "_sketch" "" "p")
  36.         (setq ss (make-ssadd bjty))
  37.         (foreach ty (ss-enlst ss)
  38.                 (setq obj (vlax-ename->vla-object ty))
  39.                 (vla-put-color obj 181)
  40.                 (vla-put-layer obj "DGWT-REV" )
  41.         )
  42.         (princ)
  43. )

点评

非常感谢  发表于 2024-1-9 08:16

评分

参与人数 1明经币 +1 收起 理由
ferious + 1 很给力!

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2024-1-8 12:27:10 | 显示全部楼层
本帖最后由 飞雪神光 于 2024-1-8 12:30 编辑

  1. (defun c:sx (/ lm-entmake-layer obj)
  2.         (setvar "cmdecho" 0)
  3.         (vl-load-com)
  4.         (defun lm-entmake-layer(datalst)
  5.                 (mapcar'set '(tc co) datalst)
  6.                 (or co (setq co 256))
  7.                 (or tc (setq tc (getvar "clayer")))
  8.                 (entmake (list '(0 . "LAYER")'(100 . "AcDbSymbolTableRecord")'(100 . "AcDbLayerTableRecord")(cons 2 tc)(cons 62 co)'(70 . 0)'(6 . "CONTINUOUS")))
  9.         )
  10.         (if(null(tblsearch "layer" "DGWT-REV"))
  11.                 (lm-entmake-layer (list "DGWT-REV" 4))
  12.         )
  13.         (command "pline" )
  14.         (while (not (zerop (getvar "cmdactive"))) (command pause))
  15.         (setq obj (Vlax-Ename->Vla-Object(entlast)))
  16.         (vla-put-constantwidth obj 20)
  17.         (vla-put-color obj 181 )
  18.         (vla-put-layer obj "DGWT-REV" )
  19.         (princ)
  20. )

  1. (defun c:sx (/ lm-entmake-layer obj)
  2.   (setvar "cmdecho" 0)
  3.   (vl-load-com)
  4.   (if(null(tblsearch "layer" "DGWT-REV"))
  5.     (command "_layer" "n" "DGWT-REV" "c" "4" "DGWT-REV" "")
  6.   )
  7.   (command "pline")
  8.   (while (not (zerop (getvar "cmdactive"))) (command pause))
  9.   (setq obj (Vlax-Ename->Vla-Object(entlast)))
  10.   (vla-put-constantwidth obj 20)
  11.   (vla-put-color obj 181 )
  12.   (vla-put-layer obj "DGWT-REV" )
  13.   (princ)
  14. )

 楼主| 发表于 2024-1-8 13:42:46 | 显示全部楼层
多谢,是草图,sketch。能帮忙再看下吗?

(command "_sketch"  ""  "T" "p" "I" "1"  ""  )


本帖子中包含更多资源

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

x
 楼主| 发表于 2024-1-9 08:14:32 | 显示全部楼层
感谢前辈,手绘线ok

本帖子中包含更多资源

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

x
 楼主| 发表于 2024-1-10 08:43:30 | 显示全部楼层
前辈,好像不对,画出的是直线,不是pl?能帮忙再看下那个Sk语句?

本帖子中包含更多资源

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

x
 楼主| 发表于 2024-1-10 09:06:19 | 显示全部楼层
还有能不能增加,鼠标左键点击后开始画线,完事直接空格退出的功能
发表于 2024-1-10 11:41:43 | 显示全部楼层
ferious 发表于 2024-1-10 09:06
还有能不能增加,鼠标左键点击后开始画线,完事直接空格退出的功能

下次点这里    ↓ 回复我 要不我看不到 我第一次给你的就是pl线 你要用草图画 就再合并一下生成的直线 点击后开始画线 就自己加个getpoint
                    ↓
                    ↓
                    ↓
                    ↓
                    ↓
                    ↓
                    ↓
                    ↓
 楼主| 发表于 2024-1-10 12:01:15 | 显示全部楼层
飞雪神光 发表于 2024-1-10 11:41
下次点这里    ↓ 回复我 要不我看不到 我第一次给你的就是pl线 你要用草图画 就再合并一下生成的直线 点 ...

嗯,好的。sk命令有一个多段线模式,不是直接pl命令或者entmake生成多段线()。但是这个sk命令的command语句我写总是出错,问题在这里,能帮忙解绝下吗?

本帖子中包含更多资源

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

x
发表于 2024-1-10 12:16:31 | 显示全部楼层
ferious 发表于 2024-1-10 12:01
嗯,好的。sk命令有一个多段线模式,不是直接pl命令或者entmake生成多段线()。但是这个sk命令的command ...

按命令流多试试 我07的 命令流和你的不一样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 04:18 , Processed in 0.180807 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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