乐筑天下

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

[编程交流] **错误:错误的参数类型:l

[复制链接]

10

主题

18

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-5 16:29:38 | 显示全部楼层 |阅读模式
大家好,我有一个问题,希望大家帮我,我想画一个土工布贴在单位。例:图片有误。
希望大家帮助我。这是我的密码
172944osndpbpjyldd2zr4.jpg
  1. ;lisp trai vai dia
  2. ;=================================
  3. (defun MakeLWPolyline (listpoint closed Linetype LTScale Layer Color xdata / Lst)       
  4. (setq Lst (list '(0 . "LWPOLYLINE")'(100 . "AcDbEntity")                                                                       
  5.                         (cons 8 (if Layer Layer (getvar "Clayer")))                                                                  
  6.                         (cons 6 (if Linetype Linetype "bylayer"))                                                                       
  7.                         (cons 48 (if LTScale LTScale 1))                                                                       
  8.                         (cons 62 (if Color Color 256))                                                                       
  9.                         '(100 . "AcDbPolyline")                                                                       
  10.                         (cons 90 (length listpoint))                                                                       
  11.                         (cons 70 (if closed 1 0))))       
  12. (foreach PP listpoint       
  13. (setq Lst (append Lst (list (cons 10 PP))))
  14. )       
  15.                         (if xdata (setq Lst (append lst (list (cons -3 (list xdata))))))       
  16.                         (entmakex Lst)
  17. );end
  18. ;===================================
  19. (defun get_lst_vertex (PL / lst)
  20. (setq lst (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= 10 (car x))) (entget PL))))
  21. (if (< (car (car lst)) (car (last lst))) lst (reverse lst))
  22. )
  23. ;=============================================================================================
  24. (defun c:T1 ( / cmd ss_coc ins_point ss lst_ver len i)
  25. (setvar "CMDECHO" 0)
  26. (prompt "\nQuet chon trac ngang: ")
  27. (setq ss_coc (ssget '((0 . "TEXT") (8 . "entdauco") (1 . "C**:*"))))
  28. (if ss_coc
  29. (progn
  30.         (setq ss_coc (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss_coc))))
  31.         (foreach coc ss_coc
  32.                 (setq ins_point (cdr (assoc 11 (entget coc)))
  33.                           ss (ssget "_W" (list (- (car ins_point) 17) (- (cadr ins_point) 15)) (list (+ (car ins_point) 17) (cadr ins_point))
  34.                                         (list (cons 8 "DuongTaoPhang")))
  35. ;tap layer Duong tao phang
  36.                           ss1 (ssget "_W" (list (- (car ins_point) 17) (- (cadr ins_point) 15)) (list (+ (car ins_point) 17) (cadr ins_point))
  37.                                         (list (cons 8 "Tuyen_KhuonTaluy"))))
  38. ;tim so giao diem cua a2 tap hop tren;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  39. (setq k 0)
  40. (while (setq e (ssname ss k))
  41.    (setq ss1 (ssadd e ss1))
  42.    (setq k (1+ k))
  43. )
  44. (setq ma (LM:IntersectionsinSet ss1))
  45. (setq len1 (length ma))
  46. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  47.                 (if ss
  48.                         (progn
  49.                                 (setq ss (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))
  50.                                           ss (vl-sort ss '(lambda (x y)  (< (car (car (get_lst_vertex x))) (car (car (get_lst_vertex y))))))
  51.                                 )
  52.                                 (setq lst_ver (get_lst_vertex (car ss)))
  53.                                 (cond
  54.                                         ((> (setq len (length ss)) 1)
  55.                                                 (setq i 0)
  56.                                                 (repeat (- len 1)
  57.                                                         (setq lst_ver (reverse (cdr (reverse lst_ver)))
  58.                                                                 lst_ver (append lst_ver (cdr (get_lst_vertex (nth (setq i (1+ i)) ss))))
  59.                                                         )
  60.                                                 )
  61.                                         )
  62.                                 )
  63. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  64. ;so sanh dieu kien so giao diem va khoang cach;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  65. (if (= len1 2) ;ham if1
  66. (progn
  67.                                 (setq lst_ver
  68.                                         (append
  69.                                                 (list (list (1+ (car (car lst_ver))) (cadr (car lst_ver))))
  70.                                                 lst_ver
  71.                                                 (list (list (1- (car (last lst_ver))) (cadr (last lst_ver))))
  72.                                         ))
  73. );end progn
  74. (progn
  75. (while         (setq a1 (car ma))
  76.         (setq a2 (entnext a1))
  77.         (setq KC (distance a1 a2))
  78.         (if (> KC 10) (command ".PLINE" a1 a2))
  79. );end while               
  80. );end progn
  81. );end if1
  82. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  83.                                 (MakeLWPolyline lst_ver nil nil nil "Vai_dia_KT" 4 nil)
  84.                         )
  85.                 )
  86.         )
  87. )
  88. )
  89. (princ)
  90. )
  91. ;=============================================================================================
  92. (defun LM:IntersectionsinSet ( ss / a b i j l )
  93. (setq i (sslength ss))
  94. (while (not (minusp (setq j (1- i) i (1- i))))
  95. (setq a (vlax-ename->vla-object (ssname ss i)))
  96. (while (not (minusp (setq j (1- j))))
  97.         (setq b (vlax-ename->vla-object (ssname ss j))
  98.                l (cons (LM:GroupByNum (vlax-invoke a 'IntersectWith b acExtendNone) 3) l)
  99.         )
  100. )
  101. )
  102. (apply 'append l)
  103. )
  104. (defun LM:GroupByNum ( l n / r)
  105. (if l
  106. (cons
  107.         (reverse (repeat n (setq r (cons (car l) r) l (cdr l)) r))
  108.         (LM:GroupByNum l n)
  109. )
  110. )
  111. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 13:10 , Processed in 0.436791 second(s), 59 queries .

© 2020-2025 乐筑天下

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