乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 53|回复: 4

[求助]求助有关实体操作的函数??

[复制链接]

44

主题

164

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
340
发表于 2003-8-18 16:46:00 | 显示全部楼层 |阅读模式
关于实体的判断与检测。  例如 ,面域与直线的区别。怎样通过表达式的判断区别开来呀
回复

使用道具 举报

124

主题

837

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1333
发表于 2003-8-19 14:02:00 | 显示全部楼层
实体类型区别:
    面域 REGION    (= (cdr (assoc 0 (entget (car (entsel))))) "REGION")  返回t
    直线  LINE       (= (cdr (assoc 0 (entget (car (entsel))))) "LINE")  返回t
回复

使用道具 举报

44

主题

164

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
340
发表于 2003-8-20 09:37:00 | 显示全部楼层
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:qs4lj4sgdp0.dwg 
下载次数:0  文件大小:21.07 KB  售价:2银币 [记录]
下载权限: 不限 以上或 Vip会员   [开通Vip]   [签到领银币]  [免费赚银币]

你好:
    程序是这样的。
    (defun c:ju( / )
   (setq sd nil);;首先进行初始化
  (setq sm nil)
  (setq ew nil
        en nil
        )
  (setq sc nil)
  (prompt "\n 选择多义线或者要转化为多义线的图元")
  (setq sd (ssget w));;创建进行多义线转化的选择集
  (prompt "\n选择创建面域的对象")
  (setq sm (ssget w));;;选择创建面域的对象
  ;(prompt "\n选择面域的外腔")
  ;(setq ew(car(entsel "\n点选面域的外腔")))
  ;(prompt "\n 选择面域的内腔")
  ;(setq en (car(entsel "\n点选面域的内腔")))
  ;(prompt "\n选择查询的对象")
         ;(setq sc( ssget w))
        (if(= (cdr(assoc 0 (entget(car(entsel) ))))"region")
          ;(progn
            ;(command "pedit" sd "j" " ")
            ;(command "region" sd)
            ;(if(apply (eq'( (type ew) (type  en)  "ename" (type ew))))
            (progn
              (prompt "\n选择面域的外腔")
              (setq ew (ssget))
              (prompt "\n 选择面域的内腔")
              (setq en (ssget))
              (prompt "\n选择查询的对象")
              (setq sc( ssget w))
              (command "subtract" ew " " en " ")
              (command "massprop" sc)
              )
          )
          (if(=(cdr(assoc 0(entget(car(entsel))))) "pline")
            (progn
              (command "region" sm " ")
              )
            (progn
              (command "pedit" sd "j" " ")
              )
              ;(setq ew (car (entsel "\n点选面域的外腔")))
              ;(setq en (car (entsel "\n点选面域的内腔")))
              ;(command "subtract" ew " "  en " ")
              ;(command "massprop" sc)
            )
  )
主要想完成的功能:   1、如果图形未转化为多义线,先转化为多义线。“PEDIT”
                              2、如果图形已转化为多义线, 那么根据闭合的区域创建面域。
                                   ‘REGION“
                              3、对实体进行编辑,计算实体的差集。”SUBTRACT“
                                  (COMMAND ”SUBTRACT“ S1  ” “ S2) 为什么在计算实体差集
                                    时,选择的实体只有”从中减去的实体“即S1,而实体2 ,S2 选择
                                  无效呢。
                              4、怎样才能让程序一气呵成。一个命令执行结束呢。
                                   现在程序执行了”PEDIT“命令后,就会跳出。必须再执 行
                                   命令JU时,程序才会执行 ”REGION“ 命令。每  
                                   个都这样。
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-8-20 10:10:00 | 显示全部楼层
  1.    (progn
  2.        (prompt "\n选择面域的外腔")
  3.        (setq ew (ssget))
  4.        (prompt "\n 选择面域的内腔")
  5.        (setq en (ssget))
  6.        (prompt "\n选择查询的对象")
  7.        (setq sc( ssget w))
  8.        (command "subtract" ew " " en " ")
  9.        (command "massprop" sc)
  10.        )

你的程序这里是不可行的,
你选择了内外腔后,还未进行SUBSTRACT,因此需要查询的对象还未生成,你边要求选择查询的对象,怎么选择呢?
回复

使用道具 举报

44

主题

164

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
340
发表于 2003-8-20 13:53:00 | 显示全部楼层
你好:
   我想得到这样的结果:
          惯性矩:      X    某个值
                            Y    某个值
应该怎么做呢?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-4 21:27 , Processed in 1.504911 second(s), 67 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表