乐筑天下

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

[编程交流] 自动标注多段线-mo

[复制链接]

3

主题

19

帖子

16

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 23:18:10 | 显示全部楼层 |阅读模式
我需要帮助,我有这个lisp“PDIM”,但所有尺寸都必须在轮廓内,而不是像图1那样,可以这样做吗?
 
 
 
 
谢谢大家的回复。。。
 
 
 
lisp PDIM:http://www.sendspace.com/file/3txh6a
 
图1:http://www.sendspace.com/file/p3upgc
 
想象一下它应该是什么样子:http://www.sendspace.com/file/y9q7ra
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 23:28:03 | 显示全部楼层
建议您只需上传带有两张图片的lisp文件,因为大多数用户不喜欢从未知网站下载可能存在任何威胁的文件。
回复

使用道具 举报

3

主题

19

帖子

16

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 23:35:11 | 显示全部楼层
thx我很难把图片和LSP。。。。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 23:38:30 | 显示全部楼层
我明白了,也许是因为你还没有达到十个帖子,至少能够附上任何文件。
回复

使用道具 举报

3

主题

19

帖子

16

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 23:45:09 | 显示全部楼层
是的,这是个问题。。。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 23:52:14 | 显示全部楼层
我刚刚下载了这些文件,并将其发布给有兴趣提供帮助的用户。
 
图片-1
 
001813fc86kr57s8rjg78d.jpg
图片-2
 
001816qe7tms9u8mgexffn.jpg
回复

使用道具 举报

3

主题

19

帖子

16

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 00:03:49 | 显示全部楼层
非常感谢你的帮助
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-6 00:05:47 | 显示全部楼层
在这里,我修改了pdim。lsp为您提供。。。HTH,M.R。
 
  1. (defun c:pdim ( / ListClockwise-p ch plSet pLlst vLst oldOsn cAng cDis cPt )
  2. (defun ListClockwise-p ( lst / z vlst )
  3.    (vl-catch-all-apply 'minusp
  4.      (list
  5.        (if
  6.          (not
  7.            (equal 0.0
  8.              (setq z
  9.                (apply '+
  10.                  (mapcar
  11.                    (function
  12.                      (lambda (u v)
  13.                        (- (* (car  u) (cadr  v)) (* (car  v) (cadr  u)))
  14.                      )
  15.                    )
  16.                    (setq vlst
  17.                      (mapcar
  18.                        (function
  19.                          (lambda (a b) (mapcar '- b a))
  20.                        )
  21.                        (mapcar (function (lambda (x) (car lst))) lst)
  22.                        (cdr (reverse (cons (car lst) (reverse lst))))
  23.                      )
  24.                    )
  25.                    (cdr (reverse (cons (car vlst) (reverse vlst))))
  26.                  )
  27.                )
  28.              ) 1e-6
  29.            )
  30.          )
  31.          z
  32.          (progn
  33.            (prompt "\n\nChecked vectors are colinear - unable to determine clockwise-p of list")
  34.            nil
  35.          )
  36.        )
  37.      )
  38.    )
  39. )
  40. (initget 1 "Outside Inside")
  41. (setq ch (getkword "\nChoose on which side to put dimensions [Outside/Inside] : "))
  42. (princ "\n<<< Select LwPolyline(s) for dimensioning >>> ")
  43. (if (setq plSet (ssget '((0 . "LWPOLYLINE"))))
  44.    (progn
  45.      (setq pLlst (vl-remove-if 'listp
  46.                         (mapcar 'cadr(ssnamex plSet)))
  47.            oldOsn (getvar "OSMODE")
  48.      ); end setq
  49.      (setvar "OSMODE" 0) (setvar "CMDECHO" 0)
  50.      (command "_.undo" "_be")
  51.      (foreach pl pLlst
  52.       (setq vLst (mapcar '(lambda( x ) (trans x 0 1))
  53.                    (mapcar 'cdr (vl-remove-if-not '(lambda( x ) (= 10 (car x)))
  54.                                   (entget pl)
  55.                                 )
  56.                    )
  57.                  )
  58.       ); end setq
  59.       (if (equal (logand (cdr (assoc 70 (entget pl))) 1) 1)
  60.        (setq vLst (append vLst (list (car vLst))))
  61.       ); end if
  62.       (if (not (ListClockwise-p vLst)) (setq vLst (reverse vLst)))
  63.       (while (< 1 (length vLst))
  64.        (setq cAng (angle (car vLst) (cadr vLst))
  65.                cDis (/ (distance (car vLst) (cadr vLst)) 2.0)
  66.        )
  67. ;        (if (>= (caar vLst) (caadr vLst))
  68. ;         (setq cAng (- cAng pi))
  69. ;        ); end if
  70.        (if (eq ch "Inside")
  71.         (setq cPt (polar (polar (car vLst) cAng cDis) (- cAng (* 0.5 pi)) (* 2.5 (getvar "DIMTXT")))); end setq
  72.         (setq cPt (polar (polar (car vLst) cAng cDis) (+ cAng (* 0.5 pi)) (* 2.5 (getvar "DIMTXT")))); end setq
  73.        ); end if
  74.        (command "_.dimaligned" (car vLst) (cadr vLst) cPt)
  75.        (setq vLst (cdr vLst))
  76.       ); end while
  77.      ); end foreach
  78.      (command "_.undo" "_e")
  79.      (setvar "OSMODE" oldOsn) (setvar "CMDECHO" 1)
  80.    ); end progn
  81. ); end if
  82. (princ)
  83. ); end of c:pdim
回复

使用道具 举报

3

主题

19

帖子

16

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 00:11:34 | 显示全部楼层
Marko,Veeeeeliko hvala na lispu!:-)
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-6 00:21:07 | 显示全部楼层
Nema na cemu drugar,hvala i tebi na lepim zeljama。。。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 00:08 , Processed in 0.372353 second(s), 74 queries .

© 2020-2025 乐筑天下

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