乐筑天下

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

[编程交流] 使用来自的值重复偏移

[复制链接]

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 08:03:11 | 显示全部楼层 |阅读模式
是否有人拥有lisp,可以重复偏移文本中的值列表,从而允许用户选择要偏移的项?
 
我们用map 3d做了很多横截面,需要某种方式来指示其上的现有道路。这会有很大帮助。
 
谢谢
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 08:56:08 | 显示全部楼层
这里有很多关于多个偏移和设置偏移值的Lisp,您可以简单地设置默认值,然后按enter键接受。我使用这种技术,我们知道我们将在会话中连续绘制一个值,重复lisp不会提出问题,唯一的回退是需要第二个lsp通常在命令行键入它(setq OFF1 nil),以再次强制用户输入。
 
如果你以前画过偏移线,我在上面画了一条线,它会自动计算出偏移值,这样你就不必记住它们了。对于与绘制墙lisp结合使用的不同尺寸的建筑墙非常方便。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 09:31:38 | 显示全部楼层
而不是从文件中读取值。您可以使用扩展数据方法
 
  1. (defun c:OXDSample (/ Add_XData Read_XData obj OData ofd)
  2. ;;; Xdata Function by  ASMI  ;;;
  3. (defun Add_XData (Ent ; - Entity Ename
  4.    App ; - Application name
  5.    dList ; - XData list (list(cons group data)...)
  6.         )
  7. (regapp App)
  8. (entmod(append(entget Ent)(list(list -3(append(list App)dList)))))
  9. )
  10. (defun Read_XData  (
  11.                    Ent  ; - Entity Ename
  12.                    apName      ; - Application name
  13.                    /
  14.                    xEnt)
  15.      (setq xEnt (entget Ent (list apName))
  16.            xEnt (vl-remove
  17.                       apName
  18.                       (cadar
  19.                             (vl-remove-if
  20.                                   (function
  21.                                         (lambda (a)
  22.                                               (/= -3 (car a))))
  23.                                   xEnt)))
  24.            )                           ; end setq
  25.      )
  26. (while (setq obj (car (entsel "\nSelect object to offset:")))
  27.      (if (setq OData (Read_XData obj "Offset values"))
  28.            OData
  29.            (progn (initget 1)
  30.                  (setq ofd (getdist "\nOffset Distance: "))
  31.                  (Add_XData
  32.                        obj
  33.                        "Offset values"
  34.                        (list (cons 1000 (rtos ofd 2))))
  35.                  (setq OData (Read_XData obj "Offset values")))
  36.            )
  37.      (command "_offset" (distof (cdar odata)) obj pause "")
  38.      )(princ)
  39.           )

 
如果所选实体没有扩展数据值,程序将提示您输入距离。如果它确实有数据,则会提示您拾取要偏移的边,并使用分配给该实体的数据
 
试试看。
HTH公司
 
编辑:是的,当你关闭文件时,这些值仍然存在。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 21:47 , Processed in 0.705850 second(s), 58 queries .

© 2020-2025 乐筑天下

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