乐筑天下

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

[编程交流] CAD中的编号点

[复制链接]

8

主题

20

帖子

12

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 16:44:13 | 显示全部楼层 |阅读模式
你好
 
我将尝试在下面解释我的意思:
 
我在CAD中通过交叉线建立了一个网格。我需要编写一个lisp,在直线交叉的地方创建点,并按适当的顺序为这些点插入数字。对于第一行,我需要插入数字,例如从1到5(从左到右),下一行从6到10(从右到左),每次都是相同的偶数行和奇数行。
 
是否存在此任务的lisp?
 
提前感谢,
雅各布
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-5 16:56:36 | 显示全部楼层
从李的网站上查看这个NUMINC。
回复

使用道具 举报

8

主题

20

帖子

12

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 17:06:45 | 显示全部楼层
 
我看到这个网站与这个Lisp程序,但我想选择所有的网格,并做到这一点自动一次。
 
您提到的LISP有一个使用数组对点进行编号的工具。但我每次都要对每一行重复这个动作。
 
不幸的是,我不知道如何为这个任务创建lisp,但有时我有一个大网格来准备要进一步处理的数字。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 17:13:30 | 显示全部楼层
如果网格的间距相等,可以使用我的增量阵列程序:
 
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 17:21:08 | 显示全部楼层
你好
 
试试这个程序;
 
查看视频=>视频
  1. (defun c:GridNum (/ ss i l p lst a b n)
  2. (if (setq ss (ssget '((0 . "LINE"))))
  3.    (progn
  4.      (repeat (setq i (sslength ss))
  5.        (setq
  6.          l (cons (vlax-ename->vla-object (ssname ss (setq i (1- i))))
  7.                  l
  8.            )
  9.        )
  10.      )
  11.      (foreach x l
  12.        (foreach o l
  13.          (and (setq p (vlax-invoke x 'intersectwith o AcExtendNone))
  14.               (setq lst (cons p lst))
  15.               (setq l (vl-remove x l))
  16.          )
  17.        )
  18.      )
  19.      (setq a (vl-sort lst '(lambda (j k) (< (car j) (car k))))
  20.            b (vl-sort a '(lambda (j k) (> (cadr j) (cadr k))))
  21.            n 0
  22.      )
  23.      (mapcar '(lambda (x)
  24.                 (entmake
  25.                   (list '(0 . "TEXT")
  26.                         (cons 10 x)
  27.                         (cons 11 x)
  28.                         (cons 1 (itoa (setq n (1+ n))))
  29.                         (cons 40 (getvar 'TEXTSIZE))
  30.                         '(71 . 0)
  31.                         '(72 . 1)
  32.                         '(73 . 2)
  33.                   )
  34.                 )
  35.               )
  36.              b
  37.      )
  38.    )
  39. )
  40. (princ)
  41. )(vl-load-com)
回复

使用道具 举报

24

主题

1265

帖子

1028

银币

后起之秀

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

铜币
362
发表于 2022-7-5 17:26:46 | 显示全部楼层
 
好的,悲伤。。。。已经停下来了李。。。。你让我们其他人看起来很糟糕-D
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 17:30:12 | 显示全部楼层
 
.......
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 17:41:18 | 显示全部楼层
另一个用C语言编写的程序,我只是为了好玩和练习。
 
享受
C#NumberingAcrossingLineObjectsLeftToRight。pdf
回复

使用道具 举报

8

主题

20

帖子

12

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 17:47:49 | 显示全部楼层
是否可以以这种方式修改此代码以获得以下内容:
 

                               
登录/注册后可看大图

 
我需要以相同的方式对点进行编号,如绘制紫色线。我认为必须使用同时按X和Y排序点的模块。但我不知道创建
 
用这样的东西太棒了。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 14:01 , Processed in 0.513674 second(s), 73 queries .

© 2020-2025 乐筑天下

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