乐筑天下

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

[编程交流] 将文本项移动到(偏移量

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:24:36 | 显示全部楼层
DXF组10仅适用于对正设置为左侧的文本。
回复

使用道具 举报

6

主题

25

帖子

19

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-5 18:29:49 | 显示全部楼层
附加文件图标在哪里?
 
 
编辑
 
 
啊,刚刚看到李的帖子
 
 
理由设置为ML&我从未注意到。将对正设置为“开始”&它可以工作
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 18:32:21 | 显示全部楼层
嗨,西蒙,
 
这里是对之前编写的相同程序的新修改,以包括各种理由。
 
  1. (defun c:Test  (/ sel int obj lst txt srt p c l e v lf rt)
  2. ;;====================================================;;
  3. ;; Author: Tharwat Al Shoufi. Date: 12.Apr.2016            ;;
  4. ;; move single text objects to nearest line with 1.0        ;;
  5. ;; unit away from Y Axe.                                ;;
  6. ;;====================================================;;
  7. (if (setq sel (ssget "_:L" '((0 . "LINE,TEXT"))))
  8.    (repeat (setq int (sslength sel))
  9.      (if (eq "LINE" (cdr (assoc 0 (entget (setq obj (ssname sel (setq int (1- int))))))))
  10.         (setq lst (cons obj lst))
  11.         (setq txt (cons obj txt))
  12.         )
  13.      )
  14.    )
  15. (if (and lst txt)
  16.    (mapcar
  17.      '(lambda (xt)
  18.         (setq l nil
  19.               e (entget xt)
  20.               v (vlax-ename->vla-object xt)
  21.               )
  22.         (vla-getboundingbox v 'lf 'rt)
  23.         (setq p (vlax-safearray->list lf))
  24.         (mapcar '(lambda (n)
  25.                    (setq c (vlax-curve-getclosestpointto n p)
  26.                          l (cons (list (distance c p) c) l)
  27.                          )
  28.                    )
  29.                 lst
  30.                 )
  31.         (vlax-invoke v 'move p (if (< (cadr (cadar (setq srt (vl-sort l '(lambda (j k) (< (car j) (car k))))))) (cadr p))
  32.                                  (polar (cadar srt) (* pi 0.5) 1.0)
  33.                                  (polar (cadar srt) (* pi 1.5) (1+ (cdr (assoc 40 e))))
  34.                                  )
  35.           )
  36.         )
  37.      txt
  38.      )
  39.    )
  40. (princ)
  41. )(vl-load-com)

 
关于你关于如何将文件附加到线程的问题,请看右手向下一点,看到按钮前进,点击按钮,然后从新页面上你可以看到许多选项,而不仅仅是附件。
 
祝你好运
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 18:36:56 | 显示全部楼层
太棒了,塔瓦
我必须提到,它也适用于多行文字!
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 18:40:49 | 显示全部楼层
 
非常感谢。
 
 
是的,你说得对-该程序现在也应该能够处理多行文字对象。
回复

使用道具 举报

6

主题

25

帖子

19

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-5 18:44:00 | 显示全部楼层
最棒的塔尔瓦!真的非常感谢
在我的脑海里,我想知道是否可以使用边界框方法,或者是否可以简单地将所有(普通)文本项设置为左对齐。但我还没有时间去想它。
我希望你不要生气,但我补充道:
  1. [setq] thgt (cdr (assoc 40 (entget xt)))
并替换:
  1. 4

真的是我的错,在编写原始lisp时,我没有整理更大的文本,这需要大于1个单位的偏移量才能合理显示
 
 
哦。”Go Advanced“我从没试过那个按钮谢谢你的信息
 
编辑:
我还没弄明白你是怎么找到哪条线最近的!
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 18:48:08 | 显示全部楼层
你是最受欢迎的西蒙,我很高兴,我的程序按预期工作。
 
毫无冒犯之意,请随意修改您希望从程序中获得的关于原始作者的部分,我们将不胜感激。
 
快乐的编码。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 23:27 , Processed in 0.642667 second(s), 65 queries .

© 2020-2025 乐筑天下

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