明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 526|回复: 4

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

[复制链接]
发表于 2023-6-7 20:03 | 显示全部楼层 |阅读模式


关于 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 70  0)
  •               (cons 74 2)
  •            )
  •    )
  •    ;;;结束标志
  •    (entmake '((0 . "SEQEND")))
  •    (princ)
  • )
  • ;;;;;;;;;;;;;;;;;;;;

发表于 2023-6-7 20:31 | 显示全部楼层
Z值需要在 inspt 里 这样(63663.4 34568.9 182.5)  heitht 是显示出来的高程注记
发表于 2024-1-3 15:08 | 显示全部楼层
请问解决了吗
 楼主| 发表于 2024-1-29 15:23 | 显示全部楼层

已解决。。。多谢大师
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-28 19:14 , Processed in 0.707033 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表