乐筑天下

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

[编程交流] 我需要一些帮助,创建选项卡

[复制链接]

1

主题

7

帖子

6

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 08:31:58 | 显示全部楼层
有些事情就在我们面前,我们就是看不见!!
 
我在vlide,但出于某种原因,我认为我必须调试它或。。。把它变成Lisp程序的东西。。
 
非常感谢。它真的很管用!!
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:34:26 | 显示全部楼层
 
很高兴听到这个消息。
 
享受吧,米查利斯
回复

使用道具 举报

1

主题

7

帖子

6

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 08:36:44 | 显示全部楼层
亲爱的朋友们,让我们更加努力
 
当我第二次使用代码时,A-B应该是C-E,然后是F-G等等。。等
此外,我指定的2个点应该留下一条多段线,并在其上方留一个名称和截面名称,例如
如果我第一次运行它,我指定第一个点,然后是第二个点,
结果应该是,
从第一个点到第二个点的多段线,每个点上方都有A-B字母,表格就这么好,
然后,当我第二次运行它时,我会再次指定第一个点,然后是第二个点,结果应该是:
从第一点到第二点的多段线,上面有C-D字母,
我不知道是否可以在流程开始时选择的点所在的直线上执行箭头(每次运行lsp时的第一个点和第二个点)
 
我相信这对你们来说是小菜一碟
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:39:32 | 显示全部楼层
 
至少对我来说,这根本不是小菜一碟
 
尽量在右手边指定第一个点,在左手边指定第二个点,以避免文本角度的方向。
 
  1. (defun c:Test (/ entities i number integer layers lst object point1 p st
  2.               height point2 result selectionset selectionsetname
  3.               singlelayer space table r c inc ang
  4.              )
  5. (vl-load-com)
  6. ;;; Tharwat 15. May. 2012 ;;;
  7. (if (not char1)
  8.    (setq char1 65
  9.          char2 66
  10.    )
  11.    (setq char1 (+ char1 2)
  12.          char2 (+ char2 2)
  13.    )
  14. )
  15. (if (> char2 90)
  16.    (setq char1 65
  17.          char2 66
  18.    )
  19. )
  20. (if (and (setq point1 (getpoint "\n Specify first point :"))
  21.           (setq point2 (getpoint point1 "\n Specify Second point :"))
  22.           (setq selectionset
  23.                  (ssget "_F"
  24.                         (list point1 point2)
  25.                         '((0 . "LINE,*POLYLINE"))
  26.                  )
  27.           )
  28.           (setq p (getpoint "\n Table insertion point :"))
  29.      )
  30.    (progn
  31.      (vl-cmdf "_.pline" "_non" point1 "_non" point2 "")
  32.      (setq height (if (zerop (cdr (assoc 40
  33.                                          (setq st
  34.                                                 (entget
  35.                                                   (tblobjname "STYLE" (getvar 'textstyle))
  36.                                                 )
  37.                                          )
  38.                                   )
  39.                              )
  40.                       )
  41.                     (cdr (assoc 42 st))
  42.                     (cdr (assoc 40 st))
  43.                   )
  44.      )
  45.      (entmakex
  46.        (list '(0 . "TEXT")
  47.              (cons 40 (* height 3.))
  48.              (cons 10
  49.                    (polar point1
  50.                           (setq ang (angle point2 point1))
  51.                           (* height 1.
  52.                    )
  53.              )
  54.              (cons 50 ang)
  55.              (cons 1 (chr char1))
  56.        )
  57.      )
  58.      (entmakex
  59.        (list '(0 . "TEXT")
  60.              (cons 40 (* height 3.))
  61.              (cons 10
  62.                    (polar point2
  63.                           (setq ang (angle point1 point2))
  64.                           (* height 3.5)
  65.                    )
  66.              )
  67.              (cons 50 (angle point2 point1))
  68.              (cons 1 (chr char2))
  69.        )
  70.      )
  71.      (repeat (setq integer (sslength selectionset))
  72.        (setq entities (cons (setq selectionsetname
  73.                                    (ssname
  74.                                      selectionset
  75.                                      (setq integer (1- integer))
  76.                                    )
  77.                             )
  78.                             entities
  79.                       )
  80.        )
  81.        (if (not (member (setq singlelayer
  82.                                (cdr (assoc 8 (entget selectionsetname)))
  83.                         )
  84.                         layers
  85.                 )
  86.            )
  87.          (setq layers (cons singlelayer layers))
  88.        )
  89.      )
  90.      (setq i 0)
  91.      (foreach layer layers
  92.        (repeat (setq number (length entities))
  93.          (if
  94.            (eq
  95.              (cdr
  96.                (assoc 8
  97.                       (entget (nth (setq number (1- number)) entities))
  98.                )
  99.              )
  100.              layer
  101.            )
  102.             (setq lst (cons layer (setq i (1+ i))))
  103.          )
  104.        )
  105.        (setq result (cons lst result))
  106.        (setq i 0)
  107.      )
  108.      (setq space (if (> (vla-get-activespace
  109.                           (setq acdoc (vla-get-activedocument
  110.                                         (vlax-get-acad-object)
  111.                                       )
  112.                           )
  113.                         )
  114.                         0
  115.                      )
  116.                    (vla-get-modelspace acdoc)
  117.                    (vla-get-paperspace acdoc)
  118.                  )
  119.      )
  120.      (setq table (vla-addtable
  121.                    space
  122.                    (vlax-3d-point p)
  123.                    (1+ (length result))
  124.                    2
  125.                    (* height 2.)
  126.                    (* height 10.)
  127.                  )
  128.      )
  129.      (vla-settext
  130.        table
  131.        0
  132.        0
  133.        (strcat "Section " (chr char1) " " (chr 45) " " (chr char2))
  134.      )
  135.      (setq r   0
  136.            c   0
  137.            inc -1
  138.      )
  139.      (repeat (length result)
  140.        (vla-settext
  141.          table
  142.          (setq r (1+ r))
  143.          c
  144.          (car (nth (setq inc (1+ inc)) result))
  145.        )
  146.        (vla-setcellalignment table r c acMiddleCenter)
  147.        (vla-settext
  148.          table
  149.          r
  150.          (setq c (1+ c))
  151.          (itoa (cdr (nth inc result)))
  152.        )
  153.        (vla-setcellalignment table r c acMiddleCenter)
  154.        (setq c 0)
  155.      )
  156.    )
  157. )
  158. (princ)
  159. )
回复

使用道具 举报

1

主题

7

帖子

6

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 08:41:39 | 显示全部楼层
先生我向你鞠躬!非常感谢你
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:44:56 | 显示全部楼层
 
不客气,米查利斯。
 
谢谢你的好话。
享受吧,伙计。
 
塔瓦特
回复

使用道具 举报

6

主题

249

帖子

247

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 08:50:37 | 显示全部楼层
Tharwat,很好的编程,但插入结果很小。如何修改以使表格更大?
谢谢
史蒂夫
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:53:04 | 显示全部楼层
 
谢谢你Steve
 
只需从文字样式中增加文字的高度
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 08:56:46 | 显示全部楼层
我想知道一家公司需要为这种类型的自定义lisp例程支付多少钱?我想知道?嗯。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:58:22 | 显示全部楼层
 
我也想知道!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 21:05 , Processed in 0.914946 second(s), 71 queries .

© 2020-2025 乐筑天下

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