本帖最后由 尘缘一生 于 2025-2-19 09:14 编辑
尽量少用COMMAND,下面是SLdesign V3.0 三领设计的代码...
 - ;;entmake 多义线,带宽度,开关闭合-----(一级)------
- ;lst 点表 , plwid 线宽=num,dxf70 是否闭合= t 闭合,
- (defun makelwpolyline (lst plwid dxf70 / pt)
- (entmake
- (append
- (list
- (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbPolyline")
- (cons 90 (length lst))
- (if dxf70
- (cons 70 1)
- (cons 70 0)
- )
- (if plwid
- (cons 43 plwid)
- (cons 43 0)
- )
- )
- (mapcar '(lambda (pt) (cons 10 pt)) lst)
- )
- )
- )
- ;点表生成多段线--------(一级)-------
- ;线宽=nil,线宽为0 ;是否闭合=nil,不闭合 ;图层=nil,为当前图层 ;颜色=nil,为当前图层颜色 ;线型比例=nil,为1
- ;(slch:lwpolyline 点表 是否闭合 线宽 图层 颜色 线型比例)
- ;(slch:lwpolyline (list (1 2) (2 3)) t 2 "中心线" 6 5)
- (defun slch:lwpolyline (lst dxf70 plwid lay lwplcol lwplbili / pt)
- (entmake
- (append
- (list
- (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbPolyline")
- (cons 90 (length lst)) ;点表
- (if dxf70
- (cons 70 1) ;闭合与不闭合
- (cons 70 0)
- )
- (if plwid
- (cons 43 plwid) ;线宽
- (cons 43 0)
- )
- (if lay
- (cons 8 lay) ;图层
- (cons 8 (getvar "CLAYER"))
- )
- (if lay
- (cons 6 (vla-get-linetype (vla-item *LAYS* lay)))
- (cons 6 "CONTINUOUS")
- )
- (if lwplcol
- (cons 62 lwplcol) ;颜色
- (cons 62 256)
- )
- (if lwplbili
- (cons 48 lwplbili) ;线型比例
- (cons 48 (* 0.01 (getvar "DIMLFAC")))
- )
- )
- (mapcar '(lambda (pt) (cons 10 pt)) lst)
- )
- )
- )
- ;;画0矩形框-----------
- (defun c:kua00 (/ p1 p2)
- (setq p1 (getpoint (slmsg "\n 第一角点:" "\n 材à翴:" "\n First corner:")) p2 (getcorner p1 (slmsg "\n 第二角点:" "\n 材à翴:" "\n Second corner:")))
- (makelwpolyline (list p1 (list (car p1) (cadr p2)) p2 (list (car p2) (cadr p1))) 0 t)
- (princ)
- )
- ;;画0.45框---------
- (defun c:gjk (/ p1 p2)
- (setq p1 (getpoint (slmsg "\n 第一角点:" "\n 材à翴:" "\n First corner:")) p2 (getcorner p1 (slmsg "\n 第二角点:" "\n 材à翴:" "\n Other corner:")))
- (slch:lwpolyline (list p1 (list (car p1) (cadr p2)) p2 (list (car p2) (cadr p1))) t (* SLBL 0.45) (slmsg "钢筋" "葵惮" "steelbar") 1 nil)
- )
|