请选择 进入手机版 | 继续访问电脑版

01BIM社区

 找回密码
 立即注册

扫一扫,访问微社区

查看: 34024|回复: 8

Common基础类

[复制链接]

155

主题

643

帖子

2531

积分

金牌会员

Rank: 6Rank: 6

积分
2531
发表于 2019-11-3 12:13:17 | 显示全部楼层 |阅读模式
Common基础类


回复

使用道具 举报

155

主题

643

帖子

2531

积分

金牌会员

Rank: 6Rank: 6

积分
2531
 楼主| 发表于 2019-11-3 12:15:13 | 显示全部楼层
本帖最后由 tzbm123456 于 2019-11-3 12:18 编辑

Tzbm_Common:rawBase_01KJ
require '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:oint3d.new(0,0,0);
                @mDashStyle=[50.mm,50.mm];
                @mDotStyle=[50.mm,30.mm,5.mm,30.mm];
                @mDotDoubleStyle=[50.mm,30.mm,5.mm,10.mm,5.mm,30.mm];
                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[j];
                                        tmpValue=@m_DictValueArr[j];
                                        @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!")

回复 支持 反对

使用道具 举报

155

主题

643

帖子

2531

积分

金牌会员

Rank: 6Rank: 6

积分
2531
 楼主| 发表于 2019-11-24 23:00:14 | 显示全部楼层
绘制基础类DrawBase_01KJ设计说明书
——2019年11月
一、绘制基础类名称:DrawBase_01KJ
二、模板名称:Tzbm_Common
三、成员变量
1、@m_Entities=Sketchup.active_model.entities
2、@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:oint3d.new(0,0,0);
13、@mDashStyle=[50.mm,50.mm];
14、@mDotStyle=[50.mm,30.mm,5.mm,30.mm];
15、@mDotDoubleStyle=[50.mm,30.mm,5.mm,10.mm,5.mm,30.mm];
16、@m_DictNameArr=Array.new();
17、@m_DictKeyArr=Array.new();
18、@m_DictValueArr=Array.new();
四、成员函数
1、setEntities(m_Entities),设置实体集合;
2、transmitParamToDict(),传递参数到字典;
3、transmitDictToParam(),传递字典到参数;

回复 支持 反对

使用道具 举报

155

主题

643

帖子

2531

积分

金牌会员

Rank: 6Rank: 6

积分
2531
 楼主| 发表于 2019-12-25 11:16:46 | 显示全部楼层
本帖最后由 tzbm123456 于 2019-12-26 11:10 编辑

BaseMain_01KJ 类说明

一、变量
1、@mDrawBase=Tzbm_Common:rawBase_01KJ.new;
#人机交互基本参数
2、@coordsLength=1000000.m;#坐标轴长度               
3、@ip1= Sketchup::InputPoint.new
4、@ip2= Sketchup::InputPoint.new
5、@pt1=Geom:oint3d.new(0,0,0);
6、@pt2=Geom:oint3d.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、输入绝对坐标[10.m,10.m,0],回车键确认后,在@m_PtArr添加输入点;
5、输入相对坐标<10.m,10.m,0>,回车键确认后,在@m_PtArr添加计算点;
三、具体函数
1、activate
2、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)




回复 支持 反对

使用道具 举报

155

主题

643

帖子

2531

积分

金牌会员

Rank: 6Rank: 6

积分
2531
 楼主| 发表于 2020-1-1 15:53:13 | 显示全部楼层
本帖最后由 tzbm123456 于 2020-1-1 15:56 编辑

类名:Math_01KJ(一)
一、类名:Math_01KJ
(一)基本信息
1、模板名称:Tzbm_Common
2、继承父类:无
3、开发时间:2017-2018
4、开发人员:李总、杨东等人
(二)成员变量
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(参数不合法)、[Gom:oint3d,Geom::Vector3d];
作者:        李总
时间:        2018/2/18
地点:洪恩寺
7、函数名称:lineFConvertPt2(line)
函数功能:已知直线方程line,返回两点的数组,返回值false(参数不合法)、[Gom:oint3d,Geom:oint3d];
作者:        李总
时间:        2018/2/17
地点:洪恩寺
8、函数名称:planeFConvertPt3(plane)
函数功能:已知平面方程式plane,返回平面方程的三点,返回值false(参数不合法)、[Gom:oint3d,Geom:oint3d,Geom:oint3d];
作者:        李总
时间:        2018/2/17
地点:洪恩寺
9、函数名称:planeFConvertPt3(plane)
函数功能:已知平面方程式plane,返回平面方程的三点,返回值false(参数不合法)、[Gom:oint3d,Geom:oint3d,Geom:oint3d];
作者:        李总
时间:        2018/2/17
地点:洪恩寺
10、函数名称:pointOnLineF?(point,LineF)
函数功能:已知点point、直线方程lineF,返回点point在直线方程lineF的状态值,返回值false(参数不合法)、nil(不在直线上)、true(在直线上);
作者:        李总
时间:        2018/2/17
地点:洪恩寺
11、函数名称:pointOnLineP(point,linePts)
函数功能:已知点point、 两点数组linePts[pt1,pt2],
返回点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[pt1,pt2,pt3],返回点point在三点数组ptArr平面的状态值,返回值false(参数不合法)、nil(不在平面上)、true(在平面上);
作者:        李总
时间:        2018/2/16
地点:洪恩寺
14、函数名称:pointOnArc(point,arcPts)
函数功能:已知点point、圆弧三点数组[arcP1,arcP2,arcP3],返回点point在圆弧的状态值,返回false或0—园弧段外且园弧上;1—园弧段上;2—园弧开始点;3—园弧结束点;4—同平面,园弧段外且不在园弧上;5-不同平面;
作者:        李总
时间:        2018/2/15
地点:洪恩寺
回复 支持 反对

使用道具 举报

155

主题

643

帖子

2531

积分

金牌会员

Rank: 6Rank: 6

积分
2531
 楼主| 发表于 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或[]、[pt];
作者:        李总
时间:        2018/2/15
地点:洪恩寺
16、函数名称:intLineArc(p1,p2,arcP1,arcP2,arcP3)
函数功能:已知直线两点p1,p2、圆弧三点arcP1,arcP2,arcP3,返回直线两点与圆弧三点的圆的交点数组,返回值为false或[]、[pt]、[pt1,pt2];
作者:        李总
时间:        2018/2/15
地点:洪恩寺
17、函数名称:intLineFArc(line,arcPt1,arcPt2,arcPt3)
函数功能:已知直线方程line、圆弧三点arcPt1,arcPt2,arcPt3,返回直线方程line与圆弧的交点数组,返回值为false或[]、[pt]、[pt1,pt2];
作者:        李总
时间:        2018/2/15
地点:洪恩寺
18、函数名称:intLineFArcCR(line,centerPt,radius)
函数功能:已知直线方程line、圆心点centerPt和半径radius,返回直线方程line与圆心点centerPt和半径radius的圆的交点数组,返回值为false或[]、[pt]、[pt1,pt2];
作者:        李总
时间:        2018/2/15
地点:洪恩寺
19、函数名称:intersectArcArc(pArc1,pArc2,pArc3,ptArc1,ptArc2,ptArc3)
函数功能:已知圆1三点pArc1,pArc2,pArc3;圆2三点ptArc1,ptArc2,ptArc3        ,返回圆1三点与圆2三点的交点数组,返回值为false或nil、[]、[pt]、[pt1,pt2];
作者:        李总
时间:        2018/2/15
地点:洪恩寺
20、函数名称:arcPt3Center(pt1_Center,pt2_Center,pt3_Center)
函数功能:已知圆弧三点pt1_Center,pt2_Center,pt3_Center        ,返回圆弧三点的圆心点,返回值为false或Geom:oint3d;
作者:        李总
时间:        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或与已知向量方向平行,玄长相等的点组[[point11,point12],[point21,point22]]        ;
作者:        李总
时间:        2018/2/14
地点:洪恩寺
26、函数名称:fillet(pp1,pp2,pt1,pt2,radius)
函数功能:已知直线1(pp1,pp2) 直线2(pt1,pt2)半径radius,返回false、nil或[point1,ptArc1,ptArc,ptArc2,point2];
作者:        李总
时间:        2018/2/14
地点:洪恩寺
27、函数名称:arc_Num_Pts(startPoint,middlePoint,endPoint,number)
函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、圆弧段数number        ,        返回该段圆弧转点数组;
作者:        杨东
时间:        2017/11/20
地点:君巢酒店15-1
28、函数名称:arc_Num_AveLen(startPoint,middlePoint,endPoint,number)
函数功能:已知圆圆弧三点(startPoint,middlePoint,endPoint)、圆弧段数number        ,        返回该圆弧平均弧长;
作者:        杨东
时间:        2017/11/20
地点:君巢酒店15-1
29、函数名称:spiral_ZSpaNum_Pts(startPoint,middlePoint,endPoint,delterZ,number)
函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、        Z轴间距delterZ        、        弧线段数number        ,返回该段螺旋曲线转点数组;
作者:        杨东
时间:        2017/11/20
地点:君巢酒店15-1
30、函数名称:spiral_SpaNum_Pts(startPoint,middlePoint,endPoint,spacingArc,number)
函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、起点与终点在圆弧法线方向的距离(正直与法线同向,负值与法线反向        )、圆弧段数number        ,返回该段螺旋曲线转点数组;
作者:        杨东
时间:        2017/11/20
地点:君巢酒店15-1
回复 支持 反对

使用道具 举报

155

主题

643

帖子

2531

积分

金牌会员

Rank: 6Rank: 6

积分
2531
 楼主| 发表于 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-1
32、函数名称:arc_Len_Pt(startPoint,middlePoint,endPoint,arcLength)
函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、圆弧长度arcLength,返回圆弧长度对应的坐标点Geom:oint3d;
作者:        杨东
时间:        2017/11/20
地点:君巢酒店15-1
33、函数名称:spiral_ZArcLen_Pt(startPoint,middlePoint,endPoint,zDist,arcLength)
函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、一整圈Z轴上两点的间距zDist        、螺旋线平面投影弧线长度arcLength        ,返回螺旋线平面投影弧线长度对应的螺旋线上坐标点Geom:oint3d;
作者:        杨东
时间:        2017/12/02
地点:君巢酒店15-1
34、函数名称:spiral_ZSpiLen_Pt(startPoint,middlePoint,endPoint,zDist,spiralLength)
函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、一整圈Z轴上两点的间距zDist        、螺旋线长度spiralLength,返回螺旋线长度对应的螺旋线上坐标点Geom:oint3d;
作者:        杨东
时间:        2017/12/02
地点:君巢酒店15-1
35、函数名称:spiral_SpaArcLen_Pt(startPoint,middlePoint,endPoint,spacDist,arcLength)
函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、弧线起终两点在Z轴上的间距spacDist(正值向上,负值向下)、        螺旋线平面投影弧线长度arcLength,返回螺旋线平面投影弧线长度对应的螺旋线上坐标点Geom:oint3d;
作者:        李总
时间:        2017/12/02
地点:洪恩寺
36、函数名称:spiral_SpaSpiLen_Pt(startPoint,middlePoint,endPoint,spacDist,spiralLength)
函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、弧线起终两点在Z轴上的间距spacDist(正值向上,负值向下)、        螺旋线弧线长度spiralLength,返回螺旋线弧线长度对应的螺旋线上坐标点Geom:oint3d;
作者:        李总
时间:        2017/12/02
地点:洪恩寺
37、函数名称:spiral_SloArcLen_Pt(startPoint,middlePoint,endPoint,slope,arcLength)
函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、弧线起终两点在Z轴上的坡度slope(正值向上,负值向下),螺旋线平面投影弧线长度arcLength,返回螺旋线平面投影弧线长度对应的螺旋线上坐标点Geom:oint3d;
作者:        李总
时间:        2017/12/02
地点:洪恩寺
38、函数名称:spiral_SloArcLen_Pt(startPoint,middlePoint,endPoint,slope,arcLength)
函数功能:已知圆弧三点(startPoint,middlePoint,endPoint)、弧线起终两点在Z轴上的坡度slope(正值向上,负值向下),螺旋线弧线长度spiralLength,返回螺旋线弧线长度对应的螺旋线上坐标点Geom:oint3d;
作者:        李总
时间:        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
地点:洪恩寺
回复 支持 反对

使用道具 举报

155

主题

643

帖子

2531

积分

金牌会员

Rank: 6Rank: 6

积分
2531
 楼主| 发表于 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/06
50、函数名称:points_To_NumArr(mPoints)
已知:折线段点组;
        返回:按线段长度由大到小规则排序的元素位置点对数组,如[[5,6],[27,28],......,[7,8]];
        作者:李总
时间:2019/12/11
51、函数名称:pointArrInsertNum(mPoints,mNum)
已知:点组mPoints,插入的点数mNum;
        返回:插入mNum点后的数组(插入点组中最长段的中点);
        作者:李总
        时间:2019/12/11
52、函数名称:createMesh(entities,ptArr1,ptArr2)
已知:entities-实体集合,ptArr1-点组1,ptArr2-点组2;
        返回:创建Mesh实体;
        作者:彭旭        
        时间:2019/12/16
53、函数名称:getHeightArr(mPoint,mPixelSize)
已知:位置点mPoint,像素尺寸mPixelSize;
        返回:该点处的坐标标高标注中的标高值数组;
        作者:李总        
        时间:2019/12/31
54、函数名称:getEntPoints(mEnt)
已知:中心线实体mEnt;
        返回:两端点数组;
        作者:李总        
        时间:2019/12/31
55、函数名称:getEntFarPoint(mEnt,mPoint)
已知:中心线实体mEnt,参考点mPoint;
        返回:远离参考点远端点;
        作者:李总        
        时间:2019/12/31
56、函数名称:getEntNearPoint(mEnt,mPoint)
已知:中心线实体mEnt,参考点mPoint;
        返回:近离参考点近端点;
        作者:李总        
        时间:2019/12/31
57、函数名称:getPointEnts(mPoint,mPixelSize)
已知:位置点mPoint,像素尺寸值mPixelSize
        返回:穿越该点处的线形实体集;
        作者:李总        
        时间:2020/01/01
58、函数名称:getNonPointEnts(mEnt,mPoint,mPixelSize)
已知:原实体mEnt、位置点mPoint,像素尺寸值mPixelSize;
        返回:穿越该点处,不含原实体的线形实体集;
        作者:李总        
        时间:2020/01/01

回复 支持 反对

使用道具 举报

155

主题

643

帖子

2531

积分

金牌会员

Rank: 6Rank: 6

积分
2531
 楼主| 发表于 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()删除系统变量字典的关键字;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|01BIM社区 - 最专业的BIM技术交流平台 ( 渝ICP备15000873号 )

GMT+8, 2024-3-28 18:40 , Processed in 0.060923 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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