乐筑天下

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

[编程交流] Lisp需要修改。。。

[复制链接]

15

主题

83

帖子

68

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-6 12:53:15 | 显示全部楼层 |阅读模式
你好我有一个老Lisp程序,需要一些修复。。。。我有2个文本需要被线分割(如图所示)。Lisp可以是这样的:
-选择上部文字
-选择向下文本
-文字高度
-选择放置位置
 
有可能吗?有人有类似的吗??提前感谢您的帮助。。。。
135316ru1vhbpo9ohwgocg.jpg
hthc。LSP
回复

使用道具 举报

CAB

29

主题

781

帖子

430

银币

中流砥柱

Rank: 25

铜币
526
发表于 2022-7-6 12:58:37 | 显示全部楼层
这是另一条路。
在所选文本上方放置一行。
  1. (defun c:hthc (/ ENT ELST BB LL HT P1 P2)
  2. (while (and (setq ent (car (entsel "Selektiraj donji text")))
  3.              (setq elst (entget ent))
  4.              (= (cdr (assoc 0 elst)) "TEXT")
  5.         )
  6.    (setq bb (textbox (list (assoc -1 elst))))
  7.    (setq ll (cdr (assoc 10 elst))
  8.          ht (cdr(assoc 40 elst))
  9.          p1 (polar ll (/ pi 2) (* ht 1.333))
  10.          p2 (polar p1 0 (abs (- (caadr bb)(caar bb))))
  11.    )
  12.          
  13.    (entmake (list (cons 0 "LINE")
  14.                   (cons 6 "BYLAYER")
  15.                   (cons 8 "linija")
  16.                   (cons 10 p1)
  17.                   (cons 11 p2)
  18.             )
  19.    )
  20. )
  21. (princ)
  22. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:01:14 | 显示全部楼层
另一种选择:
 
  1. (defun c:fract (/ tEnt1 tEnt2 tEnt)
  2. (vl-load-com)
  3. (and (setq tEnt1 (car (entsel "\nSelect Upper Text: ")))
  4.       (eq "TEXT" (cdadr (entget tEnt1)))
  5.       (setq tEnt2 (car (entsel "\nSelect Lower Text: ")))
  6.       (eq "TEXT" (cdadr (entget tEnt2)))
  7.       (setq tEnt
  8.         (M-Text '(0 0 0)
  9.           (strcat "\{\\H0.7x;\\S"
  10.             (cdr (assoc 1 (entget tEnt1))) "/"
  11.               (cdr (assoc 1 (entget tEnt2))) ";}")))
  12.       (command "_.move" tEnt "" '(0 0 0) pause))
  13. (princ))            
  14. (defun M-Text (pt val)
  15. (entmakex
  16.    (list
  17.      (cons 0 "MTEXT")         
  18.      (cons 100 "AcDbEntity")         
  19.      (cons 100 "AcDbMText")   
  20.      (cons 10 pt)        
  21.      (cons 1 val))))
  22.         
回复

使用道具 举报

15

主题

83

帖子

68

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-6 13:05:08 | 显示全部楼层
谢谢你的时间,但不太明白你的Lisp程序,它要求我选择下来的文字,然后它把上面的行和后面没有什么,否则我错了??
回复

使用道具 举报

15

主题

83

帖子

68

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-6 13:06:17 | 显示全部楼层
您好,李,lisp的好主意,有没有可能最终产品是由(单行文字-行-单行文字)制成的,因为我可能需要写数字,这样更容易用文字操作。。看看文字高度?谢谢。。
回复

使用道具 举报

CAB

29

主题

781

帖子

430

银币

中流砥柱

Rank: 25

铜币
526
发表于 2022-7-6 13:09:21 | 显示全部楼层
 
不知道移动物体的原因。不清楚是否要移动行或文本或以上所有内容。而不是猜测,我把这部分留给你去实现。我刚刚给了你一种基于所选文本大小创建行的方法&将行放在所选文本上方的中点,在创建连续纯文本时,通常会出现间隙。
 
 
也许你可以解释一下你日常生活中“移动”部分的意图?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:14:52 | 显示全部楼层
 
这与我提供的程序完全不同——不是快速修改。
回复

使用道具 举报

15

主题

83

帖子

68

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-6 13:18:36 | 显示全部楼层
 
没问题,我觉得有点复杂。。不要浪费时间,有没有可能做一些不同的事情,也许可以选择文本并把一个放在另一个下面,然后我会手动把它之间的行眨眼:
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 13:20:38 | 显示全部楼层
只需分解多行文字,你就会得到两段数据文字和一条线。
回复

使用道具 举报

13

主题

126

帖子

114

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-6 13:22:38 | 显示全部楼层
你能不能不把多行文字的顶行设成下划线?
 
您甚至可以构建一个只有两个属性的块,最上面的一个属性的字体设置为下划线。然后可以使用ATTOUT导出。
 
或者我不明白你想做什么。
 
格伦
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 03:22 , Processed in 0.492632 second(s), 75 queries .

© 2020-2025 乐筑天下

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