乐筑天下

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

[编程交流] lisp到ddedit维度

[复制链接]
d0n

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:18:03 | 显示全部楼层 |阅读模式
你好,
 
我想知道是否可以使用lisp来执行以下操作:
 
D编辑维度,使其以3“、6“9”或0”结尾,但始终向下舍入。
 
所以10'-10“应该是10'-9”,以此类推。。
 
谢谢你的帮助!
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 09:32:45 | 显示全部楼层
欢迎来到论坛。
 
看看这个。。。。
 
  1. (defun c:Test (/ Three Six Nine ss sideA sideB dis p pt)
  2. ; Tharwat 14. 06. 2011
  3. (setq Three (* 25.4 3.) Six   (* 25.4 6.) Nine  (* 25.4 9.))
  4. (if
  5.    (and
  6.      (setq ss (car (entsel "\n Select a Dimension :")))
  7.      (eq (cdr (assoc 0 (setq e (entget ss)))) "DIMENSION")
  8.    )
  9.     (progn
  10.       (setq sideA (cdr (assoc 13 e)))
  11.       (setq sideB (cdr (assoc 14 e)))
  12.       (setq dis (distance sideA sideB))
  13.       (if (eq
  14.             (car sideA)
  15.             (car sideB)
  16.           )
  17.         (setq p sideB)
  18.         (setq p sideA)
  19.       )
  20.       (cond (
  21.              (and (> dis 0.) (< dis Six))
  22.              (setq pt (polar p (angle sideA sideB) Three))
  23.             )
  24.             (
  25.              (and (> dis Six) (< dis Nine))
  26.              (setq pt (polar p (angle sideA sideB) Six))
  27.             )
  28.             (
  29.              (> dis Nine)
  30.              (setq pt (polar p (angle sideA sideB) Nine))
  31.             )
  32.       )
  33.       (entupd
  34.         (cdr (assoc -1 (entmod (subst (cons 14 pt) (assoc 14 e) e)))
  35.         )
  36.       )
  37.     )
  38.     (princ)
  39. )
  40. (princ)
  41. )

 
塔瓦特
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:37:18 | 显示全部楼层
如果我正确理解了你的目标,这应该会奏效:
 
[code](defun c:测试(/dm en ft in)(if(and(setq en(car(entsel)\ n选择维度:))(eq“Dimension”(cdr(assoc 0(entget en)))))(progn(setq en(entget en)dm(cdr(assoc 42 en))ft(fix(/dm 12))in(rem dm 12)(setq in(cond(<in 3)0)((和(
回复

使用道具 举报

8

主题

159

帖子

153

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 09:43:58 | 显示全部楼层
如果要替代尺寸,只需转到dimstyle并将舍入设置为3。lisp不是必需的。
克鲁格
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:57:39 | 显示全部楼层
 
打得好,克鲁格-这一次我错失良机
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 10:05:21 | 显示全部楼层
 
好的观点,克鲁格,我也没有得到点的OP与他们的小字从日常需要。
 
谢谢
回复

使用道具 举报

d0n

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 10:17:59 | 显示全部楼层
哈哈,打得好,我以为我试过了,但没用,我想现在可以了
回复

使用道具 举报

d0n

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 10:22:49 | 显示全部楼层
大家好,请记住为什么dimstyle中的舍入在我的情况下不起作用,因为它将向上取整,因为我只希望它向下取整。
 
我会试试你们创造的Lisp程序,谢谢!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 03:09 , Processed in 0.532821 second(s), 68 queries .

© 2020-2025 乐筑天下

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