乐筑天下

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

[编程交流] 所需Lisp增量值(w

[复制链接]

1

主题

7

帖子

6

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 08:44:20 | 显示全部楼层 |阅读模式
你好我想知道是否有人能帮我。我做了很多动作,其中有一些数字(例如100)。然后我需要复制这个数字,再放一个(101)和下一个102,以此类推。
 
我发现了一个很好用的LISP代码,但唯一的问题是我还需要围绕这个数字的框架。所以我需要自己的块,在增量数内。谢谢你的帮助。
回复

使用道具 举报

0

主题

269

帖子

279

银币

限制会员

铜币
-4
发表于 2022-7-6 08:49:22 | 显示全部楼层
您可以使用“tcircle”(快速工具)命令在多个文本对象周围放置“帧”(矩形)。
回复

使用道具 举报

1

主题

7

帖子

6

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 08:53:24 | 显示全部楼层
谢谢.但现在我需要用的不一样了。我是说喜欢这个节目http://www.eng-tips.com/viewthread.cfm?qid=138436&page=1 (
回复

使用道具 举报

CAB

29

主题

781

帖子

430

银币

中流砥柱

Rank: 25

铜币
526
发表于 2022-7-6 08:56:12 | 显示全部楼层
您可以附加一个包含文本和框架的样例DWG吗?
 
一些伪代码怎么样
 
如果dwg中没有块
生成块,获取用户输入的起始编号
否则获取属性,下一个数字是最高数字+1
endif
获取用户点以插入块
插入块并更新属性
重复插入,直到用户退出
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 09:00:05 | 显示全部楼层
这是我的旧的,希望这是
也为你工作
  1. (defun C:INN (/ gap hg inum ip p1 p2 tb wd)
  2. (setq inum (getint "\n\tEnter a number to start with: "))
  3. (while (setq ip (getpoint "\n\tSpecify text insertion point (Enter to stop): "))
  4. ; entmake text
  5. (entmake
  6.        (list
  7.        '(0 . "TEXT")
  8.        '(100 . "AcDbEntity")
  9.        '(100 . "AcDbText")      
  10.        (cons 1 (itoa inum));string
  11.        (cons 7 "Standard");style
  12.        (cons 8 "0");layer
  13. (cons 62 256);color
  14.        (cons 10 ip);insertion point
  15.        (cons 11 ip);alignment point
  16.        (cons 40 (getvar "dimtxt"));text height - change by suit
  17. (cons 41 1.0);text width
  18. (cons 50 0.0);1.5708 - vertical, 0.0 - horizontal
  19. (cons 51 0.0);oblique angle
  20. '(71 . 0);alignment
  21. '(72 . 1);alignment
  22. '(73 . 2);alignment
  23. )
  24. )
  25. (setq tb (textbox (entget (entlast))))
  26. (setq gap (/ (getvar "dimtxt") 4)
  27. p1 (car tb)
  28.        p2 (cadr tb)
  29. hg (abs (- (cadr p1)(cadr p2)))
  30. wd (abs (- (car p1)(car p2)))
  31. p1 (list (- (car ip) (/ wd 2) gap)(- (cadr ip) (/ hg 2) gap))
  32. p2 (list (+ (car ip) (/ wd 2) gap)(+ (cadr ip) (/ hg 2) gap))
  33. )
  34. ; entmake frame
  35. (entmake
  36. (list        '(0 . "LWPOLYLINE")
  37. '(100 . "AcDbEntity")
  38. '(100 . "AcDbPolyline")
  39. '(90 . 4);number of vertices
  40. '(70 . 1);closed flag
  41. (cons 8 "0");layer
  42. (cons 62 2);color (256 - ByLayer)
  43. (cons 10 p1)
  44. (list 10 (car p2) (cadr p1))
  45. (cons 10 p2)
  46. (list 10 (car p1) (cadr p2))
  47. (cons 43 0.0);polyline width
  48. )
  49. )
  50. (setq inum (1+ inum))
  51. )
  52. (prin1)
  53. )
  54. (prompt "\nType INN to execute ...")
  55. (princ)

 
~'J'~
回复

使用道具 举报

1

主题

7

帖子

6

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:01:59 | 显示全部楼层
 
我希望这能奏效。将在dwg中显示我的区块。。。
662palokartanilmaisinnumero。图纸
回复

使用道具 举报

VVA

1

主题

308

帖子

308

银币

初来乍到

Rank: 1

铜币
8
发表于 2022-7-6 09:04:01 | 显示全部楼层
>janisa我用这个{Smirnoff}rountines
Num-插入具有增量值的文本
Renum-在维度、文字、多行文字、属性、ATTDEF、ACAD_表格中重新编号文字
TTC-文本到文本的复制。将文字从维度、文字、多行文字、属性、ATTDEF、ACAD_表复制到一个
[/code]
RENUM命令可以更改尺寸、文字、多行文字、块中的ATTRIB、ATTDEF、ACAD_表格中的编号。
选择块时,需要在属性上指定。
数字LSP
662palokartanilmaisinnumero。图纸
回复

使用道具 举报

2

主题

439

帖子

536

银币

限制会员

铜币
-14
发表于 2022-7-6 09:07:07 | 显示全部楼层
我修改了c:num以按具有单个属性的块进行编号。
 
无前缀和后缀:
 
  1. (defun c:atnum (/ oldStart oldEcho oldSize oldBlock temBl *error*)
  2. (defun *error* (msg)
  3.    (setvar "CMDECHO" oldEcho)
  4.    (princ)
  5.    ); end *error*
  6. (if(not atnum:Size)(setq atnum:Size 1.0))
  7. (if(not atnum:Num)(setq atnum:Num 1))
  8. (setq  oldStart atnum:Num
  9.   oldSize atnum:Size  
  10.   oldEcho(getvar "CMDECHO")
  11.   ); end setq
  12. (setvar "CMDECHO" 0)
  13. (setq atnum:Num
  14.    (getint
  15.      (strcat "\nSpecify start number <"(itoa atnum:Num)">: ")))
  16. (if(null atnum:Num)(setq atnum:Num oldStart))
  17. (setq atnum:Size
  18.    (getreal
  19.      (strcat "\nSpecify block scale <"(rtos atnum:Size)">: ")))
  20. (if(null atnum:Size)(setq atnum:Size oldSize))
  21. (if atnum:Block(setq oldBlock atnum:Block))
  22. (setq temBl
  23. (entsel(strcat "\nSelect block <"
  24.          (if atnum:Block atnum:Block "not difined") "> > "))); end setq
  25. (cond
  26.    ((and atnum:Block(not temBl)(tblsearch "BLOCK" atnum:Block))
  27.    (setq atnum:Block oldBlock)
  28.     ); end condition #1
  29.    ((= 1(cdr(assoc 66(entget(car temBl)))))
  30.    (setq atnum:Block(cdr(assoc 2(entget(car temBl)))))
  31.    ); end condition #2
  32.    (t
  33.     (princ "\nBlock not contains attribute! ")
  34.     (setq atnum:Block nil)
  35.     ); end condition #3
  36.    ); end cond
  37. (if atnum:Block
  38.    (progn
  39.      (princ "\n>>> Pick insertion point or press Esc to quit <<<\n ")
  40. (while T  
  41. (command "-insert" atnum:Block "_s" atnum:Size pause "0"(itoa atnum:Num))
  42.    (setq atnum:Num(1+ atnum:Num))
  43. ); end while
  44.      ); end progn
  45.    ); end if
  46. (princ)
  47. ); end of c:atnum

 
~'J'~
回复

使用道具 举报

1

主题

7

帖子

6

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:11:16 | 显示全部楼层
 
你的程序最适合我使用(带前缀和后缀)。唯一的问题是,代码可以在Autocad 2004(在家中)上正常工作,但不能在我的其他计算机(Autocad 2006)上工作。你知道我能做什么吗?
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 09:15:28 | 显示全部楼层
好啊我将在今天晚上访问AutoCAD 2006,并尝试解决此问题。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 08:32 , Processed in 0.538089 second(s), 72 queries .

© 2020-2025 乐筑天下

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