Common基础类
Common基础类本帖最后由 tzbm123456 于 2019-11-3 12:18 编辑
Tzbm_Common::DrawBase_01KJrequire 'sketchup.rb'
module Tzbm_Common
class DrawBase_01KJ
Verson="1.0";
DevelopCompany="重庆天筑比盟科技公司"
Developer="李总";
DevelopTime="2016.09.03";
DevelopAddress="聚信广场15-1";
###################################################################################################################################
def self.getVerson
return Verson;
end
def self.getDevelopCompany
return DevelopCompany;
end
def self.getDeveloper
return Developer;
end
def self.getDevelopTime
return DevelopTime;
end
def self.getDevelopAddress
return DevelopAddress;
end ###################################################################################################################################
attr_accessor :m_Entities,:m_EntityID,:m_Actor,:m_ActorGrade;
attr_reader :mMath,:mModel,:mSelection,:mMaterials,:mAttrDicts,:mLayers,:mVtX,:mVtY,:mVtZ,:mOrigin;
attr_reader :mDashStyle,:mDotStyle,:mDotDoubleStyle;
###传递属性
attr_accessor :m_DictNameArr,:m_DictKeyArr,:m_DictValueArr; ###################################################################################################################################
def initialize(m_Entities=Sketchup.active_model.entities)
if (m_Entities.class==Sketchup::Entities)
@m_Entities=m_Entities;
puts("m_Entities输入参数是Sketchup::Entities实体类,变量@m_Entities值为:<"+@m_Entities.to_s+">!");
else
puts("m_Entities输入参数不是Sketchup::Entities实体类,变量@m_Entities值未改变!");
end
@m_EntityID=nil;
@mMath=Tzbm_Common::Math_01KJ.new();
@mModel=Sketchup.active_model;
@mSelection=@mModel.selection;
@mMaterials=@mModel.materials;
@mAttrDicts = @mModel.attribute_dictionaries;
@mLayers=@mModel.layers;
@mVtX=Geom::Vector3d.new(1,0,0);
@mVtY=Geom::Vector3d.new(0,1,0);
@mVtZ=Geom::Vector3d.new(0,0,1);
@mOrigin=Geom::Point3d.new(0,0,0);
@mDashStyle=;
@mDotStyle=;
@mDotDoubleStyle=;
if ($_01BIM_USER.class==Tzbm_User)
@m_Actor=$_01BIM_USER.username;
@m_ActorGrade=$_01BIM_USER.usertype;
end
@m_DictNameArr=Array.new();
@m_DictKeyArr=Array.new();
@m_DictValueArr=Array.new();
end ###################################################################################################################################
def setEntities(m_Entities)
if (m_Entities.class==Sketchup::Entities)
@m_Entities=m_Entities;
puts("m_Entities输入参数是Sketchup::Entities实体类,变量@m_Entities值为:<"+@m_Entities.to_s+">!");
return true;
else
puts("m_Entities输入参数不是Sketchup::Entities实体类,变量@m_Entities值未改变!");
return false;
end
end
def transmitParamToDict()
if @m_DictNameArr.size>0
for i in 0...@m_DictNameArr.size
tmpDictName=@m_DictNameArr;
tmpDictKeys=@m_DictKeyArr;
tmpDictValues=@m_DictValueArr;
for j in 0...@m_DictKeyArr.size
tmpKey=@m_DictKeyArr;
tmpValue=@m_DictValueArr;
@m_EntityID.set_attribute(tmpDictName,tmpKey,tmpValue);
end
end
else
p "<"+@m_DictNameArr.to_s+">为空数组!";
end
end
def transmitDictToParam()
tmpDicts=@m_EntityID.attribute_dictionaries
if tmpDicts.class!=NilClass
tmpDicts.each{|tmpDict|
@m_DictNameArr.push(tmpDict.name);
@m_DictKeyArr.push(tmpDict.keys);
@m_DictValueArr.push(tmpDict.values);
}
return true;
else
p "<"+@m_EntityID.to_s+">无字典属性";
return nil;
end
end
end
end
puts("002DrawBase20160903!")
绘制基础类DrawBase_01KJ设计说明书——2019年11月一、绘制基础类名称:DrawBase_01KJ二、模板名称:Tzbm_Common三、成员变量1、@m_Entities=Sketchup.active_model.entities2、@m_EntityID=nil;3、@mMath=Tzbm_Common::Math_01KJ.new();4、@mModel=Sketchup.active_model;5、@mSelection=@mModel.selection; 6、@mMaterials=@mModel.materials;7、@mAttrDicts = @mModel.attribute_dictionaries;8、@mLayers=@mModel.layers;9、@mVtX=Geom::Vector3d.new(1,0,0);10、@mVtY=Geom::Vector3d.new(0,1,0);11、@mVtZ=Geom::Vector3d.new(0,0,1);12、@mOrigin=Geom::Point3d.new(0,0,0);13、@mDashStyle=;14、@mDotStyle=;15、@mDotDoubleStyle=;16、@m_DictNameArr=Array.new();17、@m_DictKeyArr=Array.new();18、@m_DictValueArr=Array.new();四、成员函数1、setEntities(m_Entities),设置实体集合;2、transmitParamToDict(),传递参数到字典;3、transmitDictToParam(),传递字典到参数;
本帖最后由 tzbm123456 于 2019-12-26 11:10 编辑
BaseMain_01KJ 类说明
一、变量1、@mDrawBase=Tzbm_Common::DrawBase_01KJ.new;
#人机交互基本参数
2、@coordsLength=1000000.m;#坐标轴长度
3、@ip1= Sketchup::InputPoint.new
4、@ip2= Sketchup::InputPoint.new
5、@pt1=Geom::Point3d.new(0,0,0);
6、@pt2=Geom::Point3d.new(0,0,0);
7、@state=0;
8、@m_PtArr=Array.new();
9、@mValueStr="";#SB_VCB_VALUE对应的文字
10、@mAxisOn=0;#0:开;1:关
11、@m_PixelWinSize=10;#初始化像素窗口尺寸大小
12、@m_PixelWinStr="第1点:";#像素窗口显示变量
13、@m_PtNum=1;#点击转点数
二、功能
1、点击左键,在@m_PtArr添加点击点;
2、按Ctrl键,在@m_PtArr删除最近的点击点;3、按~键,开关轴线;
3、输入长度值,回车键确认后,在@m_PtArr添加计算点;
4、输入绝对坐标,回车键确认后,在@m_PtArr添加输入点;
5、输入相对坐标<10.m,10.m,0>,回车键确认后,在@m_PtArr添加计算点;
三、具体函数1、activate2、deactivate(view)3、onCancel(flag, view)4、reset(view)5、onMouseMove(flags, x, y, view)6、draw(view)7、onLButtonDown(flags, x, y, view)8、onRButtonUp(flags,x,y,view)9、onKeyDown(key, repeat, flags, view)10、onUserText(text, view)11、drawAxis(point, view)12、drawViewLine(view,pos)
本帖最后由 tzbm123456 于 2020-1-1 15:56 编辑
类名:Math_01KJ(一)一、类名:Math_01KJ(一)基本信息1、模板名称:Tzbm_Common2、继承父类:无3、开发时间:2017-20184、开发人员:李总、杨东等人(二)成员变量1、@mVtX;2、@mVtY;3、@mVtZ;4、@mOriginPt; (三)成员函数1、函数名称:initialize() 函数功能:初始化@mVtX、@mVtY、@mVtZ、@mOriginPt;作者: 李总时间: 2018/2/18地点:洪恩寺 2、函数名称:numCircle(radius,m_DelterArc)函数功能:已知园半径和精度值,返回满足精度要求的最小园段数,返回值false或Fixnum(大于等于8);作者: 李总时间: 2018/2/18地点:洪恩寺 3、函数名称:minArr(numArr)函数功能:已知数组numArr,返回参数numArr数组中的最小值,返回false或最小数值;作者: 李总时间: 2018/2/18地点:洪恩寺 4、函数名称:maxArr(numArr)函数功能:已知数组numArr,返回参数numArr数组中的最大值,返回false或最大数值;作者: 李总时间: 2018/2/18地点:洪恩寺5、函数名称:transform(vt1,vt2,point)函数功能:已知向量vt1、向量vt2和参考点point,返回旋转矩阵,返回值false(参数不合法)或Geom::Transformation;;作者: 李总时间: 2018/2/18地点:洪恩寺6、函数名称:pt2ConvertLineF(point1,point2)函数功能:已知直线两点pt1、pt2,返回直线方程式,返回值false(参数不合法)、;作者: 李总时间: 2018/2/18地点:洪恩寺7、函数名称:lineFConvertPt2(line)函数功能:已知直线方程line,返回两点的数组,返回值false(参数不合法)、;作者: 李总时间: 2018/2/17地点:洪恩寺8、函数名称:planeFConvertPt3(plane)函数功能:已知平面方程式plane,返回平面方程的三点,返回值false(参数不合法)、;作者: 李总时间: 2018/2/17地点:洪恩寺9、函数名称:planeFConvertPt3(plane)函数功能:已知平面方程式plane,返回平面方程的三点,返回值false(参数不合法)、;作者: 李总时间: 2018/2/17地点:洪恩寺10、函数名称:pointOnLineF?(point,LineF)函数功能:已知点point、直线方程lineF,返回点point在直线方程lineF的状态值,返回值false(参数不合法)、nil(不在直线上)、true(在直线上);作者: 李总时间: 2018/2/17地点:洪恩寺11、函数名称:pointOnLineP(point,linePts)函数功能:已知点point、 两点数组linePts,返回点point在两点数组linePts的状态值,返回值false(参数不合法)、0—直线段外且直线上;1—直线段上;2—直线开始点;3—直线结束点;4—直线段外且不在直线上;作者: 李总时间: 2018/2/17地点:洪恩寺12、函数名称:pointOnPlaneF?(point,planeF)函数功能:已知点point、平面方程式planeF,返回点point在平面方程式planeF的状态值,返回值false(参数不合法)、nil(不在平面上)、true(在平面上);作者: 李总时间: 2018/2/17地点:洪恩寺13、函数名称:pointOnPlaneP?(point,ptArr)函数功能:已知点point、三点数组ptArr,返回点point在三点数组ptArr平面的状态值,返回值false(参数不合法)、nil(不在平面上)、true(在平面上);作者: 李总时间: 2018/2/16地点:洪恩寺14、函数名称:pointOnArc(point,arcPts)函数功能:已知点point、圆弧三点数组,返回点point在圆弧的状态值,返回false或0—园弧段外且园弧上;1—园弧段上;2—园弧开始点;3—园弧结束点;4—同平面,园弧段外且不在园弧上;5-不同平面;作者: 李总时间: 2018/2/15地点:洪恩寺 本帖最后由 tzbm123456 于 2020-1-1 15:59 编辑
类名:Math_01KJ(二)15、函数名称:intLineLine(p1,p2,pt1,pt2)函数功能:已知直线一两点p1、p2和直线二两点pt1、pt2,返回两直线的交点数组,返回值为false或[]、;作者: 李总时间: 2018/2/15地点:洪恩寺16、函数名称:intLineArc(p1,p2,arcP1,arcP2,arcP3)函数功能:已知直线两点p1,p2、圆弧三点arcP1,arcP2,arcP3,返回直线两点与圆弧三点的圆的交点数组,返回值为false或[]、、;作者: 李总时间: 2018/2/15地点:洪恩寺17、函数名称:intLineFArc(line,arcPt1,arcPt2,arcPt3)函数功能:已知直线方程line、圆弧三点arcPt1,arcPt2,arcPt3,返回直线方程line与圆弧的交点数组,返回值为false或[]、、;作者: 李总时间: 2018/2/15地点:洪恩寺18、函数名称:intLineFArcCR(line,centerPt,radius)函数功能:已知直线方程line、圆心点centerPt和半径radius,返回直线方程line与圆心点centerPt和半径radius的圆的交点数组,返回值为false或[]、、;作者: 李总时间: 2018/2/15地点:洪恩寺19、函数名称:intersectArcArc(pArc1,pArc2,pArc3,ptArc1,ptArc2,ptArc3)函数功能:已知圆1三点pArc1,pArc2,pArc3;圆2三点ptArc1,ptArc2,ptArc3 ,返回圆1三点与圆2三点的交点数组,返回值为false或nil、[]、、;作者: 李总时间: 2018/2/15地点:洪恩寺20、函数名称:arcPt3Center(pt1_Center,pt2_Center,pt3_Center)函数功能:已知圆弧三点pt1_Center,pt2_Center,pt3_Center ,返回圆弧三点的圆心点,返回值为false或Geom::Point3d;作者: 李总时间: 2018/2/15地点:洪恩寺21、函数名称:arcPt3Radius(pt1_Radius,pt2_Radius,pt3_Radius)函数功能:已知圆弧三点pt1_Radius,pt2_Radius,pt3_Radius,返回圆弧三点的半径,返回值为false或Length;作者: 李总时间: 2018/2/15地点:洪恩寺22、函数名称:arcPt3Angle(pt1_Angle,pt2_Angle,pt3_Angle)函数功能:已知圆弧三点pt1_Angle,pt2_Angle,pt3_Angle,返回圆弧三点的弧度,返回值为false或Float;作者: 李总时间: 2018/2/15地点:洪恩寺23、函数名称:arcPt3Length(pt1_Length,pt2_Length,pt3_Length)函数功能:已知圆弧三点pt1_Length,pt2_Length,pt3_Length ,返回圆弧三点的弧长,返回值为false或Length ;作者: 李总时间: 2018/2/15地点:洪恩寺24、函数名称:arcPt3Normal(pt1_Normal,pt2_Normal,pt3_Normal)函数功能:已知圆弧三点pt1_Normal,pt2_Normal,pt3_Normal ,返回已知圆弧三点的法线向量,返回值为false或Geom::Vector3d ;作者: 李总时间: 2018/2/15地点:洪恩寺25、函数名称:xuanPtArrArr(vector3d,pt1,pt2,pt3)函数功能:已知玄的向量和玄长,圆弧三点pt1、pt2、pt3,返回nil或与已知向量方向平行,玄长相等的点组[,] ;作者: 李总时间: 2018/2/14地点:洪恩寺26、函数名称:fillet(pp1,pp2,pt1,pt2,radius)函数功能:已知直线1(pp1,pp2) 直线2(pt1,pt2)半径radius,返回false、nil或;作者: 李总时间: 2018/2/14地点:洪恩寺27、函数名称:arc_Num_Pts(startPoint,middlePoint,endPoint,number)函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、圆弧段数number , 返回该段圆弧转点数组;作者: 杨东时间: 2017/11/20地点:君巢酒店15-128、函数名称:arc_Num_AveLen(startPoint,middlePoint,endPoint,number)函数功能:已知圆圆弧三点(startPoint,middlePoint,endPoint)、圆弧段数number , 返回该圆弧平均弧长;作者: 杨东时间: 2017/11/20地点:君巢酒店15-129、函数名称:spiral_ZSpaNum_Pts(startPoint,middlePoint,endPoint,delterZ,number)函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、 Z轴间距delterZ 、 弧线段数number ,返回该段螺旋曲线转点数组;作者: 杨东时间: 2017/11/20地点:君巢酒店15-130、函数名称:spiral_SpaNum_Pts(startPoint,middlePoint,endPoint,spacingArc,number)函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、起点与终点在圆弧法线方向的距离(正直与法线同向,负值与法线反向 )、圆弧段数number ,返回该段螺旋曲线转点数组;作者: 杨东时间: 2017/11/20地点:君巢酒店15-1 本帖最后由 tzbm123456 于 2020-1-1 16:02 编辑
类名:Math_01KJ(三)31、函数名称:spiral_SloNum_Pts(startPoint,middlePoint,endPoint,k,number)函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、斜率k 、圆弧段数number,返回该段螺旋曲线转点数组;作者: 杨东时间: 2017/11/20地点:君巢酒店15-132、函数名称:arc_Len_Pt(startPoint,middlePoint,endPoint,arcLength)函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、圆弧长度arcLength,返回圆弧长度对应的坐标点Geom::Point3d;作者: 杨东时间: 2017/11/20地点:君巢酒店15-133、函数名称:spiral_ZArcLen_Pt(startPoint,middlePoint,endPoint,zDist,arcLength)函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、一整圈Z轴上两点的间距zDist 、螺旋线平面投影弧线长度arcLength ,返回螺旋线平面投影弧线长度对应的螺旋线上坐标点Geom::Point3d;作者: 杨东时间: 2017/12/02地点:君巢酒店15-134、函数名称:spiral_ZSpiLen_Pt(startPoint,middlePoint,endPoint,zDist,spiralLength)函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、一整圈Z轴上两点的间距zDist 、螺旋线长度spiralLength,返回螺旋线长度对应的螺旋线上坐标点Geom::Point3d;作者: 杨东时间: 2017/12/02地点:君巢酒店15-135、函数名称:spiral_SpaArcLen_Pt(startPoint,middlePoint,endPoint,spacDist,arcLength)函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、弧线起终两点在Z轴上的间距spacDist(正值向上,负值向下)、 螺旋线平面投影弧线长度arcLength,返回螺旋线平面投影弧线长度对应的螺旋线上坐标点Geom::Point3d;作者: 李总时间: 2017/12/02地点:洪恩寺36、函数名称:spiral_SpaSpiLen_Pt(startPoint,middlePoint,endPoint,spacDist,spiralLength)函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、弧线起终两点在Z轴上的间距spacDist(正值向上,负值向下)、 螺旋线弧线长度spiralLength,返回螺旋线弧线长度对应的螺旋线上坐标点Geom::Point3d;作者: 李总时间: 2017/12/02地点:洪恩寺37、函数名称:spiral_SloArcLen_Pt(startPoint,middlePoint,endPoint,slope,arcLength)函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、弧线起终两点在Z轴上的坡度slope(正值向上,负值向下),螺旋线平面投影弧线长度arcLength,返回螺旋线平面投影弧线长度对应的螺旋线上坐标点Geom::Point3d;作者: 李总时间: 2017/12/02地点:洪恩寺38、函数名称:spiral_SloArcLen_Pt(startPoint,middlePoint,endPoint,slope,arcLength)函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、弧线起终两点在Z轴上的坡度slope(正值向上,负值向下),螺旋线弧线长度spiralLength,返回螺旋线弧线长度对应的螺旋线上坐标点Geom::Point3d;作者: 李总时间: 2017/12/02地点:洪恩寺39、函数名称:transitionCurve_Len_Pt(canKPoint,canKVector,vtNormal,secondLs,secondRadius,transitionLen)函数功能:已知(1)半径为无穷大处的参考点canKPoint,参考向量canKVector,法线向量vtNormal; (2)终点长度secondLs,终点半径secondRadius(逆时针为正,顺时针为负);(3)缓和曲线任意长度(水平投影面上距参考点的距离)transitionLen。返回值缓和曲线任意长度对应点坐标transitionLenPt(水平投影面上的坐标) ;作者: 李总时间: 2017/11/19地点:洪恩寺40、函数名称:transitionCurve_SloLen_Pt(canKPoint,canKVector,vtNormal,secondLs,secondRadius,slope,transitionLen)函数功能:已知(1)半径为无穷大处的参考点canKPoint,参考向量canKVector,法线向量vtNormal;(2)终点长度secondLs,终点半径secondRadius(逆时针为正,顺时针为负);(3)缓和曲线坡度slope,正值向上,负值向下;(4)缓和曲线任意长度(水平投影面上距参考点的距离)transitionLen 。返回缓和曲线任意长度对应空间点坐标spiralPt(缓和曲线spiral空间坐标)。作者: 李总时间: 2017/12/08地点:洪恩寺41、函数名称:transitionCurve_LenAga_Pt(canKPoint,canKVector,vtNormal,secondLs,secondRadius,transitionLen)函数功能:已知(1)半径为无穷大处的参考点canKPoint,参考向量canKVector,法线向量vtNormal;(2)终点长度secondLs,终点半径secondRadius(逆时针为正,顺时针为负);(3)缓和曲线任意逆向长度(水平投影面上距终点的距离)transitionLen 。返回缓和曲线逆向任意长度对应点坐标transitionLenPt(水平投影面上的坐标)。作者: 李总时间: 2017/11/19地点:洪恩寺42、函数名称:transitionCurve_SloLenAga_Pt(canKPoint,canKVector,vtNormal,secondLs,secondRadius,slope,transitionLen)函数功能:已知(1)半径为无穷大处的参考点canKPoint,参考向量canKVector,法线向量vtNormal;(2)终点长度secondLs,终点半径secondRadius(逆时针为正,顺时针为负);(3)缓和曲线坡度slope,正值向上,负值向下;(4)缓和曲线逆向任意长度(水平投影面上距终点的距离)transitionLen。返回值缓和曲线逆向任意长度对应点坐标spiralPt(空间坐标)。作者: 李总时间: 2017/12/08地点:洪恩寺 本帖最后由 tzbm123456 于 2020-1-1 16:06 编辑
类名:Math_01KJ(四)43、函数名称:deleteAdjionDuplicatePoint(ptArr)函数功能:已知点数组ptArr。返回值删除相邻重复点的数组。作者: 李总时间: 2018/04/27地点:洪恩寺 44、函数名称:deleteDuplicatePoint(ptArr)函数功能:已知点数组ptArr。返回值删除重复点的数组。作者: 李总时间: 2018/04/27地点:洪恩寺45、函数名称:arcPt3AccuNum(pt1_Normal,pt2_Normal,pt3_Normal,mAccuracy)函数功能:已知三点坐标、精度值要求。返回值精度值对应的圆弧段数。作者: 李总时间: 2018/06/09地点:洪恩寺46、函数名称:ptArrLenPt(ptArr,length)函数功能:已知多段线转点数组ptArr、线段长度length。返回线段长度对应的坐标点。作者: 李总时间: 2018/06/16地点:洪恩寺47、函数名称:ptArrLenRangePts(ptArr,lenArr)函数功能:已知多段线转点数组ptArr、线段长度范围数组lenArr。返回线段长度范围内的坐标点数组。作者: 李总时间: 2018/06/16地点:洪恩寺48、函数名称:ptArrPtLen(ptArr,point)函数功能:已知多段线转点数组ptArr、给定的坐标点。返回坐标点对应的长度;false/Length。作者: 李总时间: 2018/06/16地点:洪恩寺49、函数名称:actorGrade(actorName)已知:角色的名称; 返回:角色的等级; 作者:李总 时间:2018/09/0650、函数名称:points_To_NumArr(mPoints)已知:折线段点组; 返回:按线段长度由大到小规则排序的元素位置点对数组,如[,,......,]; 作者:李总时间:2019/12/1151、函数名称:pointArrInsertNum(mPoints,mNum)已知:点组mPoints,插入的点数mNum; 返回:插入mNum点后的数组(插入点组中最长段的中点); 作者:李总 时间:2019/12/1152、函数名称:createMesh(entities,ptArr1,ptArr2)已知:entities-实体集合,ptArr1-点组1,ptArr2-点组2; 返回:创建Mesh实体; 作者:彭旭 时间:2019/12/1653、函数名称:getHeightArr(mPoint,mPixelSize)已知:位置点mPoint,像素尺寸mPixelSize; 返回:该点处的坐标标高标注中的标高值数组; 作者:李总 时间:2019/12/3154、函数名称:getEntPoints(mEnt)已知:中心线实体mEnt; 返回:两端点数组; 作者:李总 时间:2019/12/3155、函数名称:getEntFarPoint(mEnt,mPoint)已知:中心线实体mEnt,参考点mPoint; 返回:远离参考点远端点; 作者:李总 时间:2019/12/3156、函数名称:getEntNearPoint(mEnt,mPoint)已知:中心线实体mEnt,参考点mPoint; 返回:近离参考点近端点; 作者:李总 时间:2019/12/3157、函数名称:getPointEnts(mPoint,mPixelSize)已知:位置点mPoint,像素尺寸值mPixelSize 返回:穿越该点处的线形实体集; 作者:李总 时间:2020/01/0158、函数名称:getNonPointEnts(mEnt,mPoint,mPixelSize)已知:原实体mEnt、位置点mPoint,像素尺寸值mPixelSize; 返回:穿越该点处,不含原实体的线形实体集; 作者:李总 时间:2020/01/01
本帖最后由 tzbm123456 于 2020-1-30 16:15 编辑
_000SystemVariableClass设计说明书一、模板名称:Tzbm_Common二、类名称:SystemVariableClass_01KJ三、实例变量1、m_FilePathName,系统变量路径文件名,字符型,默认值为nil;2、m_Data,系统变量数据,数组型,默认值为nil;3、m_Key,关键字;4、m_Value,关键值;5、mSystemDictName,特定系统变量字典名称,字符型,默认值为‘SystemVariable_01KJ’6、mFilePathName,特定系统文件,字符型,默认值为Sketchup.find_support_file("Plugins/01BIM/style")+"SystemVariable.01KJ"7、mSystemDict,特定系统变量字典名称对应的字典变量;8、mData,初始系统变量数据,默认值为[\ #文字样式名称 ["TextStyle","Standard_文字样式名称"],\ #尺寸样式名称 ["DimStyle","DimStandard_尺寸样式名称"],\ #光标窗口宽度 ["PixelWinSize","5_光标窗口宽度"],\ #线形样式名称 ["LineType","Solid_线形样式名称"],\ #线形样式比例 ["LtScale","50_线形样式比例"],\ #出图比例 ["PlotRatio","0.001_出图比例"],\ #文字高度(mm) ["TextHeight","3000_文字高度(mm)"],\ #绘制线形宽度(mm) ["LineWidth","300_绘制线形宽度(mm)"],\ #标注线形宽度(mm),含文字引线、坐标引线、标高引线、尺寸引线、坡度引线等 ["LabelLineWidth","300_标注线形宽度(mm)"],\ #短斜线宽度(mm) ["VirguleWidth","600_短斜线宽度(mm)"],\ #规划道路中心线RoadCenterLine宽度(mm) ["PlanningRCLWidth","300_规划道路中心线宽度(mm)"],\ #规划道路导线RoadLeadLine宽度(mm) ["PlanningRLLWidth","300_规划道路导线宽度(mm)"],\ #规划道路中央分隔带线CentralSeparationBeltLine宽度(mm) ["PlanningCSBLWidth","400_规划道路中央分隔带线宽度(mm)"],\ #规划道路两侧分隔带线SideSeparationBeltLine宽度(mm) ["PlanningSSBLWidth","400_规划道路两侧分隔带线宽度(mm)"],\ #规划路缘石线CurbLine宽度(mm) ["PlanningCLWidth","500_规划路缘石线宽度(mm)"],\ #规划道路红线RoadRedLine宽度(mm) ["PlanningRRLWidth","700_规划道路红线宽度(mm)"],\ #规划建筑红线ArchitectureRedLine宽度(mm) ["PlanningARLWidth","500_规划建筑红线宽度(mm)"],\ #规划地块边界线BorderLine宽度(mm) ["PlanningBLWidth","800_规划地块边界线宽度(mm)"],\ #规划地块表格线TableLine宽度(mm) ["PlanningTLWidth","600_规划地块表格线宽度(mm)"],\ #规划地块表格文字TableText高度(mm) ["PlanningTTHeight","6000_规划地块表格文字高度(mm)"]\];四、实例函数1、getDataHD(),获取硬盘特定系统文件的系统参数;2、getDataSD(),获取Skp文件系统字典数据;3、regenSystemDict(),更新Skp文件系统字典数据;4、regenSystemFile(),更新硬盘特定系统文件;5、saveFile(),保存自定义系统文件;6、readCustomFile(),读入自定义系统文件;7、setKeyValue(mKey,mValue)|setAttribute(),添加系统变量字典的关键字的属性值;8、getKeyValue(mKey)|getAttribute(),获取系统变量字典的关键字的属性值;9、getSDName(),获取系统变量字典_SD的名称;10、getSDKeys(),获取系统变量字典的所有关键字;11、getSDValues(),获取系统变量字典的所有关键字对应属性值;12、delKeySD(mKey)|delKey()删除系统变量字典的关键字;
页:
[1]