f4800 发表于 2023-6-7 20:03:27

关于 Gu_xl 大师的函数 展点后 Z值为0 的问题



关于 Gu_xl 大师的函数 展点后 Z值为0 的问题
在一段展点程序用调用了Gu_xl 大师的函数 ,但是Z值始终是0这个问题没找到解决办法 不是道是程序问题还是函数调用问题
请教各位大师
多谢 多谢





[*];;;by Gu_xl 函数源码
[*](defun gxl-cs:gcd (inspt height scale / pt blkdef obj);展高程点函数(inspt:插入点,heitht:高程值,scale:缩放比例,xsws:高程注记位数)
[*](setvar "CMDECHO" 0)
[*](command "layer" "m" "GCD" "c" "1" "" "L" "CONTINUOUS" """")
[*](if height
[*]    (setq height (rtos height 2 3));3为高程注记位数
[*]    (setq height "")
[*])
[*](regapp "SOUTH")
[*]
[*];;;检查字体 "HZ" 是否存在
[*](if (not (tblobjname "style" "HZ"))
[*]    (command "style" "HZ" "rs.shx,hztxt.shx" 0 1 0 "" "" "")
[*])
[*];;;检查是否存在高程点图块定义
[*](if (not (tblobjname "block" "GC200"))
[*]    (progn
[*]      (setq blkdef (vla-Add (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object))) (vlax-3D-point '(0 0 0)) "GC200"))
[*]      (setq obj
[*]      (vla-AddPolyline
[*]         blkdef
[*]         (vlax-make-variant
[*]            (vlax-safearray-fill
[*]               (vlax-make-safearray vlax-vbdouble (cons 0 5))
[*]               '(-0.2 0 0 0.2 0 0)
[*]            )
[*]         )
[*]      )
[*]      )
[*]      (vla-SetBulge obj 0 1) (vla-SetBulge obj 1 1)
[*]      (vla-put-Closed obj :vlax-true)
[*]      (vla-put-ConstantWidth obj 0.4)
[*]    )
[*])
[*];;;插入块
[*](entmake (list
[*]             '(0 . "INSERT")
[*]             '(100 . "AcDbEntity")
[*]             '(100 . "AcDbBlockReference")
[*]             '(66 . 1);;;属性跟随标志,1跟随,0不跟随
[*]            (cons 2 "GC200")
[*]            (cons 10 inspt)
[*]            (cons 41 scale)
[*]            (cons 42 scale)
[*]            (cons 43 scale)
[*]            (list -3 '("SOUTH" (1000 . "202101")))
[*]         )
[*])
[*];;;插入属性
[*](entmake (list
[*]             '(0 . "ATTRIB")
[*]             '(100 . "AcDbEntity")
[*]             '(100 . "AcDbText")
[*]            (cons 10 (setq pt (polar inspt 0 (* 1.2 scale))))
[*]            (cons 40 (* 2.0 scale))
[*]            (cons 50 0)
[*]            (cons 41 0.8)
[*]            (cons 51 0)
[*]            (cons 1 height)
[*]            (cons 7 "HZ")
[*]       (cons 62 1)
[*]            (cons 72 0)
[*]            (cons 11 pt)
[*]            '(100 . "AcDbAttribute")
[*]            (cons 2 "height")
[*]            (cons 700)
[*]            (cons 74 2)
[*]         )
[*]   )
[*]   ;;;结束标志
[*]   (entmake '((0 . "SEQEND")))
[*]   (princ)
[*])
[*]
[*];;;;;;;;;;;;;;;;;;;;

飞雪神光 发表于 2023-6-7 20:31:24

Z值需要在 inspt 里 这样(63663.4 34568.9 182.5)heitht 是显示出来的高程注记

f4800 发表于 2023-6-7 21:32:22

多谢多谢。。

yxh1202 发表于 2024-1-3 15:08:33

请问解决了吗

f4800 发表于 2024-1-29 15:23:26

yxh1202 发表于 2024-1-3 15:08
请问解决了吗

已解决。。。多谢大师
页: [1]
查看完整版本: 关于 Gu_xl 大师的函数 展点后 Z值为0 的问题