cass中mysql 编码格式式及含义

CAD&CASS下实体的扩展属性XDATA
一:摘自网络
正确叫法为
扩展数据 -- xdata
系统提供了几个用于处理扩展数据的 AutoLISP 函数,它们是由用
ObjectARX 或 AutoLISP
编写的应用程序创建的。如果一个图元包含扩展数据,则该数据会紧跟在图元的正常定义数据之后。
通过调用 entget 可以获取一个图元的扩展数据。entget
函数获取图元的正常定义数据和应用程序(在 entget
调用中指定)的扩展数据。
当用 entget 获取扩展数据时,扩展数据的起始部分由 -3 组码指示。-3
组码位于一个表中,该表以第一个 1001 组码开始。如下表所示,该 1001
组码包含所获取的第一个注册的应用名称,详细信息请参见后面章节。
正常和扩展数据的组码
组码 字段 数据类型
) 图元名称)
正常定义数据字段)
. 常规图元定义数据
&扩展数据标记
注册的应用名称 1)
XDATA 字段)
.册的应用程序名称 2)
XDATA 字段)
注册的应用名称 3)
. 扩展数据
本节内容包括:
&& 组织扩展数据
&& 注册应用
&& 获取扩展数据
&& 在图元上附着扩展数据
&& 管理扩展数据使用的内存
&& 扩展数据中的句柄
扩展数据由一个或多个 1001
组码组成,其中每个组码都以唯一的应用名称开始。由 entget
返回的扩展数据组码跟随在定义数据之后,按照保存宝数据库中的次序排列。
在每个应用的组码中,扩展数据的内容、含义及其数据的组织都是由应用自身定义的。AutoCAD
维护这些信息,但不使用它们。表中还显示 1000 到 1071
之间扩展数据的组码。如下所示,这些组码的数据类型许多都是熟悉的:
&1000。扩展数据中的字符串可长达 255 字节(第 256
字节是为空字符保留的)。
1001(也是字符串)。应用名称可长达 31 字节(第 32
字节是为空字符保留的),而且必须符合符号表的名称规则(如图层名称)。应用名称可包含字母、数字、专用字符
$(美元符号)、-(连字符)以及 _(下划线),但不能包含空格。
1003。与扩展数据相关联的图层名称。
数据库句柄
1005。图形数据库中的图元句柄。
1010。包含在一个点中的三个实数值。
1040。一个实数值。
1070。一个 16 位整数(带符号或不带符号)。
1071。一个 32 位带符号的(长)整数。如果 1071
组码中出现短整数或实数值,则被转换为一个长整数;如果组码值非法(例如一个字符串),则将被转换为长整数形式的零
注意 AutoLISP 把 1071 组码作为实数值管理。如果用 entget 获取包含
1071 组码的图元定义表,则返回的值是实数。如下例所示:
(1071 . 12.0)
如果需要用 entmake 或 entmod 在图元中创建一个 1071
组码,则既可使用实数值,也可使用整数值。如下例所示:
(entmake \'((..... (1071 . 12) .... )))
(entmake \'((..... (1071 . 12.0) .... )))
(entmake \'((..... (1071 . 65537.0) .... )))
(entmake \'((..... (1071 . 65537) .... )))
但 AutoLISP 返回的组码值仍是实数:
(entmake \'((..... (1071 . 65537) .... )))
上述语句的返回值如下所示:
(1071 . 65537.0)
ObjectARX 总是把 1071 组码作为长整数来管理。
其他几个的扩展数据组码在其上下文中具有特殊含义(如果应用程序选择使用它们):
控制字符串
1002。扩展数据的控制字符串可以是“{”或“}”。这些大括号使应用可以通过将扩展数据细分为表来组织它们。左括号开始一个表,右括号结束最新的表。表是可以嵌套的。
注意 如果一个 1001
组码出现在该表中,则仅把它当作一个字符串,而不是一个新的应用组码的开始。
二进制数据
1004。二进制数据被组织为可变长度的数据块,它可在有 ads_binary
结构的 ObjectARX 中处理。数据块的最大长度为 127 字节。
注意 AutoLISP 不能直接处理二进制数据块,所以适用于长整数 (1071)
组码的预防措施也同样适用于二进制组码。
世界空间位置
1011。与简单的三维点不同,其 WCS
坐标随扩展数据所属的父图元移动、比例缩放、旋转和镜像。当对父图元使用
STRETCH 命令并且此点位于选择窗口中时,该 WCS
的位置也会被拉伸。
世界空间位移
1012。一个随着父图元比例缩放、旋转或镜像的三维点,但不可拉伸或移动。
世界空间方向
1013。一个随着父图元旋转或镜像的三维点,但不可比例缩放、拉伸或移动。其
WCS 方向是一个单位长度的规格化向量。
1041。一个随着父图元比例缩放的实数值。
1042。也是一个随着父图元比例缩放的实数值。
关于扩展数据的 DXF 组码,也请参见 DXF Reference。
为便于 AutoCAD
识别,必须注册应用名称。应用名称与使用该应用的每个图元的扩展数据一起存储,也在
APPID 表中。注册由 regapp
函数来完成,它指定一个字符串作为应用名称。如果 regapp
函数成功地将名称增加到 APPID 表中,则返回应用名称,否则返回
nil。返回 nil
则表示此名称已出现在该符号表中,但这不是一个真正的错误,而是一个正常的返回值,因为应用在每次绘图中只需注册一次。
为了进行注册,应用首先检查它的名称是否已出现在 APPID
表中。如果表中没有该名称,则必须注册它。如果有,则可以如本节的后面部分所述,程序只需继续运行,并使用扩展数据。
下列代码段中有 regapp 的典型用法(关于 tblsearch
函数的详细信息,请参见访问符号表和词典)。
(setq appname "MYAPP_2356")&& ;
唯一的应用名称
(if& (tblsearch "appid"
appname)&& ;
检查是否已经注册
& (princ (strcat
appname " already registered. "))
& (if (=& (regapp appname)
nil)&& ; 一些其他问题
&&& (princ
"\\nCan\'t register XDATA for " appname ". "))
函数提供了一定的安全度,但它不能保证两个单独的应用不会选择相同的名称。确保不重名的一个办法是,采用一个统一的规则,即使用公司或产品的名称,以及唯一的编号(例如电话号码或当前的日期和时间)。
获取扩展数据
应用程序可以调用 entget 来获得已经注册的扩展数据。entget
函数既能返回定义数据,也能返回应用程序所需的扩展数据。这需要一个额外的参数
application,它用于指定应用名称。传给 entget 的名称必须与上一次调用
regapp 注册的应用一致,它们也可以包含通配符。
在缺省情况下,关联填充图案也包含扩展数据。下列代码显示了该扩展数据的关联表。
命令:& (entget (car (entsel))
\'("ACAD"))&
选择对象:& 选择关联图案填充
在命令行中输入上述代码,会返回如下所示的一个表:
((-1 . &图元名:&) (0 . "INSERT") (8 . "0") (2 .
(10 0.0 0.0 0.0) (41 . 1.0) (42 . 1.0) (50 . 0.0) (43 . 1.0) (70 .
0) (71 . 0)
(44 . 0.0) (45 . 0.0) (210 0.0 0.0 1.0) (-3 ("ACAD" (1000 .
(1002 . "{") (1070 . 16) (1000 . "LINE") (1040 . 1.0) (1040 .
(1002 . "}"))))
这段代码段演示了为两个指定的应用获取扩展数据的典型序列。请注意,参数
application 以表的格式来传入应用名称:
(setq working_elist
& (entget ent_name
\'("MY_APP_1" "SOME_OTHER")& ;
仅当扩展数据来自“MY_APP_1”和
;“SOME_OTHER”时,才被获取
(if working_elist
; 更新工作图元组
&&& (entmod
working_elist)&& ; 只有仍在表
working_elist 中的注册
; 应用程序的扩展数据才被修改
如样例代码所示,与用 entmod 修改正常定义数据一样,可以通过调用
entmod 的子序列修改用 entget 获取的扩展数据,也可以在传递给 entmake
的图元表中定义扩展数据来创建它。
只返回应用明确要求的扩展数据,可以防止一个应用误用另一个应用的数据。它也控制了应用程序需要使用的内存数量,并简化了应用程序需进行的扩展数据处理。
注意 由于 application
传入的字符串可以包含通配符,因此应用名为“*”将导致 entget
返回附着在图元上的所有扩展数据。
在图元上附着扩展数据
使用扩展数据可以存储任意类型的信息。例如,绘制一个图元(例如直线或圆),然后输入下列代码将扩展数据附着到图元上:
(setq lastent (entget
(entlast)))&& ;
获得最新图元定义数据的关联表
"NEWDATA")&&&&
; 注册应用名称
exdata&&&&&
; 设置 exdata 变量等于
("NEWDATA"&&&&
; 新的扩展数据
& (1000 . "This is a new
thing!")&& ;
本例中是一个文本字符串
(setq newent&
& (append lastent
exdata))&&& ;
向图元表中增加新的数据表
newent)&&&&&&&&&&&&&&&&&&
; 用新的定义数据修改图元
为了验证扩展数据已被附着到图元上,输入下列代码,并选择该对象:
(entget (car (entsel)) \'("NEWDATA"))
本样例显示了在图元上附着扩展数据的基本方法。
二、来自帮助
object.GetXData AppName, XDataType,
XDataValue
, , , , , , , , , , , , , ;
The object or objects this method applies to.
S input-only
A NULL string will return all the data attached to the object,
regardless of the application that created it. Supplying an
application name will return only the data that was created by the
specified application.
Variant (array of shorts); output-only
XDataValue
Variant (array of variants);
output-only
Extended data is an example of instance-specific
data created by applications written with ObjectARX or AutoLISP.
This data can be added to any object. This data follows the
object's definition data, and is maintained in the order that it
was saved into the document. (AutoCAD maintains this information,
but doesn't use it.)
Sub Example_GetXData()
' This example creates a line and attaches extended data to that line.
' Create the line
Dim lineObj As AcadLine
Dim startPt(0 To 2) As Double, endPt(0 To 2) As Double
startPt(0) = 1#: startPt(1) = 1#: startPt(2) = 0#
endPt(0) = 5#: endPt(1) = 5#: endPt(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(startPt, endPt)
' Initialize all the xdata values. Note that first data in the list should be
' application name and first datatype code should be 1001
Dim DataType(0 To 9) As Integer
Dim Data(0 To 9) As Variant
Dim reals3(0 To 2) As Double
Dim worldPos(0 To 2) As Double
'注意以下的03 70 1071...这些数字,参照我上面发的内容(来自网络部分)
DataType(0) = 1001: Data(0) = "Test_Application"
DataType(1) = 1000: Data(1) = "This is a test for xdata"
DataType(2) = 1003: Data(2) = "0"
DataType(3) = 1040: Data(3) = 1.13E+40
DataType(4) = 1041: Data(4) =
' distance
DataType(5) = 1070: Data(5) = 32767
' 16 bit Integer
DataType(6) = 1071: Data(6) = 32767
' 32 bit Integer
DataType(7) = 1042: Data(7) = 10
' scaleFactor
reals3(0) = -2.95: reals3(1) = 100: reals3(2) = -20
DataType(8) = 1010: Data(8) = reals3
worldPos(0) = 4: worldPos(1) = 400.: worldPos(2) = 2.798989
DataType(9) = 1011: Data(9) = worldPos
' world space position
' Attach the xdata to the line
lineObj.SetXData DataType, Data
' Return the xdata for the line
Dim xdataOut As Variant
Dim xtypeOut As Variant
lineObj.GetXData "", xtypeOut, xdataOut
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。cass7.0使用编码_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
45页免费10页免费318页免费334页免费109页1下载券 108页1下载券59页免费47页免费28页免费
喜欢此文档的还喜欢80页1下载券17页1下载券39页免费21页免费40页1下载券
cass7.0使用编码|c​a​s​s.使​用​编​码
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢道路设计参数设置各个选项的含义。cass7.1《参考手册》第一章解释不全面。请高手帮忙解释一下。谢谢!_百度知道
道路设计参数设置各个选项的含义。cass7.1《参考手册》第一章解释不全面。请高手帮忙解释一下。谢谢!
提问者采纳
参考手册--第四章 CASS2008的文件结构--4.8 横断面设计文件,如下:4.8 横断面设计文件该文件用于输入横断面设计的已知要素,可以有道路设计文件参数文件菜单来生成。文件格式如下:断面序号,H=中桩设计高程,ZI=1:左坡度,YI=1:右坡度,ZW=左宽,YW=右宽,A=横坡率,ZC=左超高,YC=右超高,ZTG=左单坡限高,YTG=右单坡限高,ZWH=左坡间宽,YWH=右坡间宽,ZI2=1:左二级坡度,YI2=1:右二级坡度,ZSL=左碎落台宽,YSL=右碎落台宽,ZWG=左边沟上宽,YWG=右边沟上宽,ZDG=左边沟下宽,YDG=右边沟下宽,ZHG=左边沟高,YHG=右边沟高END 以END作为结束标志。
在道路设计参数对话框里,有左坡度框,还有右坡度框。但是没有坡度框。请高手帮解释一下,谢谢!
提问者评价
其他类似问题
请高手帮忙的相关知识
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁豆丁精品文档: 南方cass视频教程 南方cass教程 南方cass7.0教程 南方cass教程..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
南方CASS简明教程
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口拓普康GTS332导出的数据如何转变为Cass7.0格式_百度知道
拓普康GTS332导出的数据如何转变为Cass7.0格式
已经用全站仪的数据线将数据从仪器中导入到电脑,要进行南方CASS制图,问题是数据格式不对,不能将已有数据导入到Cass里面,如何能把现有的数据格式转换成Cass认可的数据格式。全站仪已经不在,只有数据。不能利用全站仪传输的方法了。
根据南方软件(cass)的功能,可以采用以下方法将徕卡全站仪采集回来的数据展点到南方软件中。一.直接利用南方软件的数据处理中的数据通讯功能1. 数据处理&数据通讯&徕卡GSI——微机,软件会提示保存为文件2. 按软件提示设置仪器3. 进入全站仪中的数据管理中的下载选中所需要下载的文件发送 &br&4. 进入软件中的绘图处理&展点&野外测点点号,选择第一步所保存的文件即可展点二.利用南方软件的格式转换功能1. 利用徕卡SurveyOffice数据交换管理器将测量数据下载成GSI格式(注意仪器中的GSIMASK应为MASK2),( 另清华山维早期版本的软件不支持徕卡的GSI16,不知道新版本能不能支持)2. 进入南方软件的数据处理&数据格式转换&徕卡GSI格式,选择欲转换的数据文件,并保存到目标文件3. 进入软件中的绘图处理&展点&野外测点点号,选择第一步所保存的文件即可展点三.现在介绍一种新的操作最简单的方法给大家,熟悉南方软件坐标文件格式和徕卡格式编辑器的应该知道该方法。1. 首先利用格式编辑器,做好一个格式文件传输到仪器(300/700/400)中的format中,其格式为:“Point_ID_(Target)_,,_Target_(North)_,_Target_(East)_,_Target_(Elev)”,我已做好一个标准的格式,请点击右图标下载。2. 直接利用SurveyOffice的数据交换管理器将测量数据按该格式下载,注意要讲默认的后缀名mdt改为dat3. 直接进入软件中的绘图处理&展点&野外测点点号,选择第一步所保存的文件即可展点说明:该方法用户操作部分只有两步,而且较简单,不需要过多操作。我认为是这三种方法中最简单的。建议大家在培训用户(如果该用户使用的是南方软件)时,可以直接培训该方法的操作,至于如何编辑格式文件及传输格式文件可事先做好。全站仪专家网注:1. 此方法比较适合南方cass5.0版本,至于4.0版本则需要用文本编辑器打开数据文件在第一行插入一个点数的数字(如50,不需要很准确)保存后即可展点2. 同样的思路可以编辑其他成图软件的的数据输出格式,大家可以尝试,需要注意的是清华山维不支持徕卡的GSI16数据,仅支持GSI8,不知道新版本有没有解决这个问题3. 700的序码测量也是一个很好用的功能,特别是在竣工测量中,这样每个测量点含有编码在软件中则表现为地物代号,这时只需要在格式文件中在点号后的两个引号之间加入编码即可,这样在南方软件中可以按点号及地物号两种方式展点。利用序码测量的优点在于:野外草图可以简单化,展点更加方便快捷。小技巧:可以将编码表(含序码)打印出来贴在仪器U型架上,方便随时查看。拓普康的方法类似。
其他类似问题
按默认排序
其他1条回答
1.把DAT格式的数据在excel中打开,步骤:在数据菜单中找到导入外部数据,导入数据,把最下面的对话框改成所用文件,然后找到你的dat格式的数据,打开,下一步,在逗号框里打对号(把TAB键那个对号去掉),下一步,完成,确定。就行了!2.CASS认定个数据格式是点号,,y,x,z
所以只需在y坐标前插入一列就行了3.在excel菜单中单击文件,另存为,把保存类型改为.CSY(逗号分隔)4.把数据文件的格式改为DAT5.ok
拓普康的相关知识
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 格式工厂 二次编码 的文章

 

随机推荐