乐筑天下

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

[编程交流] 当没有

[复制链接]

15

主题

53

帖子

40

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-5 20:11:49 | 显示全部楼层 |阅读模式
我有以下代码:
 
  1. (setq PT1 (getpoint))
  2. (setq PT2 (getpoint PT1))
  3. (command "LINE" PT1 PT2)
  4. (command)
  5. (setq obj1 (entget (entlast)))
  6.        (setq ent (car (nentsel "\nSelect Entity: \n")))
  7. (cond
  8.         ((/= ent nil)
  9.                 (setq obj2 (entget ent))
  10.                        (command "chamfer" obj ent)
  11.                )
  12.                ((= ent nil)
  13.                        (setq PT3 (getpoint ent))
  14.                        (command "LINE" PT2 PT3)
  15.                )
  16.         )
  17. )

 
如果没有实体,它应该能够画一条线,直到我试图选择实体为止。然而,当我执行这段代码时,它会指出我有一个不合适的数据类型。如果某个实体在某个特定点不存在,我应该如何修改代码,以便能够从最后一个点到我尝试选择某个实体的点绘制线?
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 21:02:34 | 显示全部楼层
 
我更喜欢IF语句(您的代码使用cond)
 
实例
  1. (if ent
  2. (alert "Do chamfer")
  3. (alert "Draw line")
  4. ) ;_ end of if
回复

使用道具 举报

GP_

8

主题

248

帖子

245

银币

初来乍到

Rank: 1

铜币
42
发表于 2022-7-5 21:13:09 | 显示全部楼层
试试这个:
 
  1. (defun c:test ( / pt1 pt2 obj1 ent PT3)
  2.    (setq PT1 (getpoint))
  3.    (setq PT2 (getpoint PT1))
  4.    (command "_LINE" "_non" PT1 "_non" PT2 "")
  5.    (setq obj1 (entlast))
  6.    (setq ent (entsel "\nSelect Entity: \n"))
  7.    (setq PT3 (cadr (grread T)))
  8.    (if ent
  9.        (command "_chamfer" obj1 ent)
  10.        (command "_LINE" "_non" PT2 "_non" PT3 "")
  11.    )
  12. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-18 20:42 , Processed in 1.047631 second(s), 58 queries .

© 2020-2025 乐筑天下

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