明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1908|回复: 8

请问该面积标注如何修改为公制单位?

[复制链接]
发表于 2012-12-25 12:32 | 显示全部楼层 |阅读模式
请问该面积标注如何修改为公制单位?该帖被浏览了4次 | 回复了0

这是一段从外国论坛下的LSP面积标注小程序
很方便
但是标注出来的是非公制的
请问有哪位大侠能将其改成毫米或者米的公制单位?
谢谢!!

===============================================

;;; AreaText.LSP ver 3.0
;;; Command name is AT
;;; Select a polyline and where to place the text
;;; Sample result: 2888.89 SQ. FT.
;;; As this is a FIELD it is updated based on the FIELDEVAL
;;; or the settings found in the OPTIONS dialog box

;;; By Jimmy Bergmark
;;; Copyright (C) 2007-2010 JTB World, All Rights Reserved
;;; Website: www.jtbworld.com
;;; E-mail: info@jtbworld.com
;;; 2007-09-05 - First release
;;; 2009-08-02 - Updated to work in both modelspace and paperspace
;;; 2010-10-29 - Updated to work also on 64-bit AutoCAD

;;; Uses TEXTSIZE for the text height

(defun Get-ObjectIDx64 (obj / util)
  (setq util (vla-get-Utility (vla-get-activedocument (vlax-get-acad-object))))
  (if (= (type obj) 'ENAME)(setq obj (vlax-ename->vla-object obj)))
  (if (= (type obj) 'VLA-OBJECT)
    (if (> (vl-string-search "x64" (getvar "platform")) 0)
      (vlax-invoke-method util "GetObjectIdString" obj :vlax-False)
      (rtos (vla-get-objectid obj) 2 0)
    )
  )
)

(defun c:AT (/ entObject entObjectID InsertionPoint ad)
  (vl-load-com)
  (setq entObject (vlax-ename->vla-object(car (entsel)))
        entObjectID (Get-ObjectIDx64 entObject)
        InsertionPoint (vlax-3D-Point (getpoint "Select point: "))
        ad (vla-get-ActiveDocument (vlax-get-acad-object))
  )
  (vla-addMText (if (= 1 (vla-get-activespace ad))
    (vla-get-modelspace ad)
    (if (= (vla-get-mspace ad) :vlax-true)
      (vla-get-modelspace ad)
      (vla-get-paperspace ad)
    )
  )
  InsertionPoint 0.0 (strcat
  "%<\\AcObjProp Object(%<\\_ObjId "
  entObjectID
  ">%).Area \\f \"%pr2%lu2%ct4%qf1 SQ. FT.\">%"
  ))
)


发表于 2012-12-25 14:50 | 显示全部楼层
这行中:
">%).Area \\f \"%pr2%lu2%ct4%qf1 SQ. FT.\">%"
FT改成mm
发表于 2012-12-25 15:38 | 显示全部楼层
">%).Area \\f \"%pr2%lu2%ct4%qf1 SQ. FT.\">%"
改为">%).Area \\f \"%lu2%pr2\ SQ.mm\">%"

单纯改单位,实际发现数值仍然是英制单位,即使你强制系统变量mearsurement 为1仍不行,
惟有改字段
 楼主| 发表于 2012-12-25 18:53 | 显示全部楼层
sunny20102 发表于 2012-12-25 15:38
">%).Area \\f \"%pr2%lu2%ct4%qf1 SQ. FT.\">%"
改为">%).Area \\f \"%lu2%pr2\ SQ.mm\">%"

牛啊!谢谢!!
我想缩小1000000倍呢。。。?
呵呵
发表于 2012-12-25 20:13 | 显示全部楼层
想改成平米,改为如下即可:
">%).Area \\f \"%lu2%ct8[1e-006] m^2\">%"
发表于 2012-12-25 20:14 | 显示全部楼层
多试下field 这个命令即可了,楼主主要是field不熟悉
多用几次你就会了的
 楼主| 发表于 2012-12-26 08:37 | 显示全部楼层
sunny20102 发表于 2012-12-25 20:14
多试下field 这个命令即可了,楼主主要是field不熟悉
多用几次你就会了的

其实我是lsp小白。。。
field平时是怎么用的还真的不太清楚。。。。

呃~~大侠的方法貌似不行啊,出来的显示结果是这样的

279351521.39[1e-006] m^2

。。。。
发表于 2012-12-26 09:43 | 显示全部楼层
jokingw 发表于 2012-12-26 08:37
其实我是lsp小白。。。
field平时是怎么用的还真的不太清楚。。。。

我这是可以的啊,可能是哪个符号有问题,你试用下附件内的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2012-12-26 13:06 | 显示全部楼层
还是不行。。。
显示如:


63095444.946194[1e-006] m^2

呃。。不过也谢谢大侠!
可能是我的某个系统变量没设置对?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-2 15:34 , Processed in 0.187109 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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