乐筑天下

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

[编程交流] 如何在Spreadshe中对文本进行排序

[复制链接]

19

主题

55

帖子

36

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-6 07:40:32 | 显示全部楼层 |阅读模式
你好
 
我必须分层“c-road-sctn-titl”和“area block”;我需要将每一层排序为一行。
 
我怎样才能做到简单?
 
 
 
请看我的上传文件示例!!
图纸1.dwg
回复

使用道具 举报

44

主题

542

帖子

502

银币

后起之秀

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

铜币
220
发表于 2022-7-6 08:03:01 | 显示全部楼层
一条连续的线?或者像数据一样的几行(行)似乎被布置在?
 
我会看看数据来自哪里,看看是否可以更好地导出。
回复

使用道具 举报

10

主题

38

帖子

28

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 08:08:23 | 显示全部楼层
我不确定你到底想要什么。
 
如果需要考虑公差值的排序方法,请参见下面的PTE:Sortobj函数
 
  1. (defun c:aa ( / doc spc obj tol PTE:objects PTE:sortobj ) (vl-load-com)
  2. (defun PTE:objects ( ss / i re )
  3. (if ss
  4.   (repeat (setq i (sslength ss))
  5.    (setq re (cons (vlax-ename->vla-object (ssname ss (setq i (1- i)))) re))
  6.   )
  7. )
  8. )
  9. (defun PTE:sortobj
  10. (   olst typ tol /
  11.   typ objs opt npt lst data lst rev sx sy dxf x y
  12.   PTE:s1 PTE:s2 PTE:s3 PTE:s4
  13. )
  14. (defun rev (ls f) (mapcar '(lambda (l)(if (setq f (not f)) (reverse l) l)) ls))
  15. (defun sx  (objs) (vl-sort objs '(lambda (a b) (< (x a) (x b)))))
  16. (defun sy  (objs) (vl-sort objs '(lambda (a b) (< (y a) (y b)))))
  17. (defun dxf (o c)  (cdr  (assoc c (entget (vlax-vla-object->ename o)))))
  18. (defun x   (o)    (car  (dxf o 10)))
  19. (defun y   (o)    (cadr (dxf o 10)))
  20. (setq typ (vl-string->list (strcase typ)))
  21. (if (member (car typ) '(76 82))
  22.   (setq PTE:s1 sy PTE:s2 y PTE:s3 sx PTE:s4 rev)
  23.   (setq PTE:s1 sx PTE:s2 x PTE:s3 sy PTE:s4 rev)
  24. )
  25. (setq objs (PTE:s1 olst) opt (PTE:s2 (car objs)))
  26. (foreach o objs
  27.   (if (< tol (abs (- (setq npt (PTE:s2 o)) opt)))
  28.    (setq lst  (cons data lst) data (list o) opt npt)
  29.    (setq data (cons o data))
  30.   )
  31. )
  32. (setq lst (mapcar '(lambda (l) (PTE:s3 l))(cons data lst))
  33.     lst (if (member (cadr typ) '(85 82)) (reverse lst) lst)
  34.     lst (if (member (car typ)  '(68 76)) (mapcar '(lambda (l) (reverse l)) lst) lst)
  35.     lst (if (/= (car typ) (caddr typ))(PTE:s4 lst t) lst)
  36. )
  37. )
  38. (setq doc (vla-get-activedocument (vlax-get-acad-object))
  39.    spc (vla-get-modelspace doc)
  40.    obj (PTE:objects (ssget '((0 . "*text") (8 . "C-ROAD-SCTN-TITL"))))
  41.    tol (* 15. (vla-get-height (car obj)))
  42. )
  43. (mapcar
  44. '(lambda ( os )
  45.   (mapcar
  46.    '(lambda ( o1 o2 )
  47.     (vla-addline spc (vla-get-InsertionPoint o1) (vla-get-InsertionPoint o2))
  48.    ) os (cdr os)
  49.   )
  50. )(PTE:SortObj obj "rdr" tol)
  51. )
  52. )
  53. ;;PTE:sortobj Use like this....
  54. ;;
  55. ;;    Made By..........   TaeEun  -_-)=b
  56. ;;
  57. ;;          Contact Me.......[email="Me.......arin9916@naver.com"]arin9916@naver.com[/email]
  58. ;;                    .......   [url]http://cafe.naver.com/ptelisp[/url]
  59. ;;
  60. ;;          Arguments........   olst : vla-object list
  61. ;;                   ........   typ  : Sort type (str .. See below)
  62. ;;                   ........   tol  : tolerance (real or int)
  63. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  64. ;           Type Description.
  65. ;                 1    2    3        r = right   l = left
  66. ;                 4    5    6        u = up      d = down
  67. ;                 7    8    9   
  68. ;                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  69. ;                Sort by type rdr : ((1 2 3) (4 5 6) (7 8 9))
  70. ;                Sort by type ldl  : ((3 2 1) (6 5 4) (9 8 7))
  71. ;                Sort by type rur : ((7 8 9) (4 5 6) (1 2 3))
  72. ;                Sort by type lul  : ((9 8 7) (6 5 4) (3 2 1))
  73. ;                Sort by type drd : ((1 4 7) (2 5  (3 6 9))
  74. ;                Sort by type uru : ((7 4 1) (8 5 2) (9 6 3))
  75. ;                Sort by type dld : ((3 6 9) (2 5  (1 4 7))
  76. ;                Sort by type ulu : ((9 6 3) (8 5 2) (7 4 1))
  77. ;                Sort by type rdl : ((1 2 3) (6 5 4) (7 8 9))
  78. ;                Sort by type ldr : ((3 2 1) (4 5 6) (9 8 7))
  79. ;                Sort by type rul : ((7 8 9) (6 5 4) (1 2 3))
  80. ;                Sort by type lur : ((9 8 7) (4 5 6) (3 2 1))
  81. ;                Sort by type dru : ((1 4 7) (8 5 2) (3 6 9))
  82. ;                Sort by type urd : ((7 4 1) (2 5  (9 6 3))
  83. ;                Sort by type dlu : ((3 6 9) (8 5 2) (1 4 7))
  84. ;                Sort by type uld : ((9 6 3) (2 5  (7 4 1))
  85. ;                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
回复

使用道具 举报

19

主题

55

帖子

36

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-6 08:26:43 | 显示全部楼层
你好
很抱歉回答晚了
我运行lisp plz时出错,请参阅附加文件和读取错误。
 
 
命令:aa
; 错误:没有函数定义:VLAX-GET-ACAD-OBJECT
084033w9zvf961q9fxf69f.jpg
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:29:04 | 显示全部楼层
http://www.cadtutor.net/forum/showthread.php?1390-如何在此存档中使用LISP例程&p=339645&viewfull=1#post339645
回复

使用道具 举报

19

主题

55

帖子

36

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-6 08:41:45 | 显示全部楼层
我不能回答我的问题!!!!!!!?
我想再说一遍!
当我在“C-ROAD-SCTN-TITL”层的一行直线上绘制时;你们可以看到数字不是在线数组
我想把所有的数字层“C-ROAD-SCTN-TITL”到数组和层“区域块”
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 05:04 , Processed in 0.349266 second(s), 66 queries .

© 2020-2025 乐筑天下

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