git_thailand 发表于 2022-7-6 08:13:01

帮助快速d的lisp代码

需要代码1。网格线交点上的自动列(在层列中)pic。1.
需要代码2。为自动标注(层内标注)pic选择网格。2.
非常感谢。
 

ReMark 发表于 2022-7-6 08:21:27

让我大胆猜测一下。
 
你希望有人告诉你如何1)找到一个lisp例程来实现这一点,或者2)如何编写一个lisp例程来实现这一点。它是哪一个?
 
尽可能具体总是有助于避免对所问问题产生任何混淆。

MSasu 发表于 2022-7-6 08:26:01

您可以尝试使用QDIM内置命令。
 
当做
米尔恰

git_thailand 发表于 2022-7-6 08:34:04

我需要如何写lisp

Lee Mac 发表于 2022-7-6 08:35:15

以下是两个让您开始使用的功能:
 

;;----------------=={ Intersections in Set }==----------------;;
;;                                                            ;;
;;Returns a list of all points of intersection between      ;;
;;objects in a selection set                              ;;
;;------------------------------------------------------------;;
;;Author: Lee Mac, Copyright © 2011 - www.lee-mac.com       ;;
;;------------------------------------------------------------;;
;;Arguments:                                                ;;
;;ss - SelectionSet                                       ;;
;;------------------------------------------------------------;;
;;Returns:List of intersection points, or nil             ;;
;;------------------------------------------------------------;;

(defun LM:IntersectionsInSet ( ss / i1 i2 ls o1 o2 )
   (repeat (setq i1 (sslength ss))
       (setq o1 (vlax-ename->vla-object (ssname ss (setq i1 (1- i1)))))
       (repeat (setq i2 i1)
         (setq o2 (vlax-ename->vla-object (ssname ss (setq i2 (1- i2))))
               ls (append ls (LM:GroupByNum (vlax-invoke o1 'intersectwith o2 acextendnone) 3))
         )
       )
   )
   ls
)

;;-----------------=={ Group by Number }==--------------------;;
;;                                                            ;;
;;Groups a list into a list of lists, each of length 'n'    ;;
;;------------------------------------------------------------;;
;;Author: Lee Mac, Copyright © 2010 - www.lee-mac.com       ;;
;;------------------------------------------------------------;;
;;Arguments:                                                ;;
;;l - List to process                                       ;;
;;n - Number of elements by which to group the list         ;;
;;------------------------------------------------------------;;
;;Returns:List of lists, each of length 'n'               ;;
;;------------------------------------------------------------;;

(defun LM:GroupByNum ( l n / r)
   (if l
       (cons
         (reverse (repeat n (setq r (cons (car l) r) l (cdr l)) r))
         (LM:GroupByNum l n)
       )
   )
)

 
仔细阅读标题中的描述,包括参数/返回。
 
有了这些,大部分艰苦的工作已经完成,还有什么需要你去做:
 
[列表]
[*]提示用户选择一组网格线
[/列表]
 
[列表]
[*]将集合传递给上述适当的函数
[/列表]
 
[列表]
[*]迭代返回的点列表,并在列表中的每个点插入一个块。
[/列表]

git_thailand 发表于 2022-7-6 08:41:40

李·麦克。我需要举例说明这个功能

MSasu 发表于 2022-7-6 08:50:06

由于李不再在线,请在下面找到他的十字路口查找器的使用示例:
 
关于,
米尔恰

git_thailand 发表于 2022-7-6 08:55:12

 
非常感谢。
如何自动列???

Tiger 发表于 2022-7-6 08:58:00

 
一个简单的数组怎么样?

MSasu 发表于 2022-7-6 09:03:32

 
这可能会让你开始:
 
2
 
当做
米尔恰
页: [1] 2
查看完整版本: 帮助快速d的lisp代码