明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 504|回复: 6

[函数] 有没有函数能代替系统函数ssdel,ssdel有时无法使用

[复制链接]
发表于 2023-4-14 16:17 | 显示全部楼层 |阅读模式
(DEFUN C:HHH ( )
   (vl-load-com)
   (setq ss (ssadd))     
   (setvar "osmode" 0)     
   (prompt "\n<<框选文字在文字中心画圈(图层无限制)>>")
   (setq ss (ssget '((0 . "TEXT"))))   

   ;-----------------ssdel无法使用----------------------------------
   (setq ssn0 (ssname ss 0))         
   (ssdel ssn0 ss)       ;从选择集ss中删除对象ssn0得到新选择集ss(CAD2016无法使用这个函数)
   ;-----------------ssdel无法使用----------------------------------


   (command "undo" "be")                                   
   (setq i 0)
   (repeat (sslength ss)
     (setq ssi (ssname ss i))                          
     (setq wenzi (cdr (assoc 1 (entget ssi))))            
     (setq ceni (txtmpt ssi))     ;调用函数求文字中心
     (command "circle" ceni 400)                  
     (setq i (+ 1 i))
   )
   (command "undo" "e")                     
   (setvar "osmode" 16383)
)


  (defun txtmpt (en / ent box ls pt ang)
    (setq ent (entget en)
          box (textbox ent)
          ang (cdr (assoc 50 ent))
          ls  (mapcar '(lambda (a b) (* 0.5 (+ a b)))
                      (car box)
                      (cadr box)
              )
          pt  (cdr (assoc 10 ent))
    )
    (polar pt (+ ang (angle '(0 0) ls)) (distance '(0 0) ls))
  )       

   (princ)



发表于 2023-4-14 16:21 | 显示全部楼层
函数没问题代码也没问题 是你操作不对或者CAD有问题  ssdel也不会有时无法使用
发表于 2023-4-14 16:22 | 显示全部楼层
除非被重定义了
 楼主| 发表于 2023-4-14 16:51 | 显示全部楼层

何为重定义?
发表于 2023-4-14 21:16 | 显示全部楼层

这就叫重新定义

本帖子中包含更多资源

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

x
发表于 2023-4-14 21:49 | 显示全部楼层
多了解一下 lisp  ssdel 完全用不上 你这个功能同样的功能 就会用更方便的方式实现
发表于 2023-4-16 10:39 | 显示全部楼层
重定义两个人名字相同,不知道谁是谁.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-11 16:10 , Processed in 0.161678 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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