tzbm123456 发表于 2019-11-3 12:13:17

Common基础类

Common基础类

tzbm123456 发表于 2019-11-3 12:15:13

本帖最后由 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!")

tzbm123456 发表于 2019-11-24 23:00:14

绘制基础类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-25 11:16:46

本帖最后由 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:53:13

本帖最后由 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:57:42

本帖最后由 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:00:17

本帖最后由 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:03:29

本帖最后由 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-29 08:29:55

本帖最后由 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]
查看完整版本: Common基础类