01BIM社区

 找回密码
 立即注册

扫一扫,访问微社区

查看: 7824|回复: 10

建筑工程——土建部分

[复制链接]

155

主题

643

帖子

2531

积分

金牌会员

Rank: 6Rank: 6

积分
2531
发表于 2019-7-3 09:20:45 | 显示全部楼层 |阅读模式
建筑工程——土建部分


回复

使用道具 举报

90

主题

182

帖子

799

积分

高级会员

Rank: 4

积分
799
发表于 2019-7-3 16:09:33 | 显示全部楼层
一、ArchProject_01KJ
(一)基本信息
1、模板名称:Tzbm_Architectural_Common
2、继承父类:Tzbm_Common:rawBase_01KJ
(二)成员变量
1、@m_ArchBianHao楼栋编号,类型为String,默认值为“A”,定义方法attr_accessor;
2、@m_ArchZeroElv零标高,类型为Length,默认值为0.m,定义方法attr_accessor;
3、@m_ArchWallThickness墙体标准厚度,类型为Length,默认值为240.mm,定义方法attr_accessor;
4、@m_ArchDownFloor地下楼层数组,类型为Array,其元素也为Array,如[“-1”,3600.mm],默认值为[["-1",3600.mm],["-2",3600.mm],["-3",3600.mm]],定义方法attr_accessor;
5、@m_ArchUpFloor地上楼层数组,类型为Array,其元素也为Array,如[“1”,4500.mm],默认值为[["1",4500.mm],["2",4500.mm],["3",4500.mm],["4",3000.mm]["5",3000.mm]],定义方法attr_accessor;
6、@m_StruDesignLife,设计年限,类型为String,默认值为"50年",定义方法attr_accessor;
7、@m_StruAseismicGrade,抗震等级,类型为String,默认值为"一级",包含"一级、二级、三级、四级、非抗震",定义方法attr_accessor;
8、@m_StruEnvirmentType,环境类别,类型为String,默认值为"二a",包含"一、二a、二b、三a、三b、四、五",定义方法attr_accessor;
9、@m_StruConcreteStrength,混凝土强度,类型为String,默认值为"C30",包含"C20、C30、C40、C50、C60、C70",定义方法attr_accessor;
10、@m_StanPavementDepth,标准铺装层,类型为Length,默认值为30.mm,定义方法attr_accessor。
(三)成员函数
1、initialize(m_ArchBianHao="A",m_ArchZeroElv=0.m,m_ArchWallThickness=240.mm,m_ArchDownFloorArr=[[“-3”,3600.mm],[“-2”,3600.mm],[“-1”,3600.mm]],m_ArchUpFloor=[[“1”,4500.mm],[“2”,4500.mm],[“3”,4500.mm],[“4”,3000.mm][“5”,3000.mm]],m_StruDesignLife="50年",m_StruAseismicGrade="一级",m_StruEnvirmentType="二a",m_StruConcreteStrength="C30",m_StanPavementDepth=30.mm)
2、setBianHao(m_ArchBianHao)
3、setZeroElv(m_ArchZeroElv)
4、setWallThickness(m_ArchWallThickness)
5、setDownFloor(m_ArchDownFloorArr)
6、setUpFloor(m_ArchUpFloor)
7、setDesignLife(m_StruDesignLife)
8、setAseismicGrade(m_StruAseismicGrade)
9、setEnvirmentType(m_StruEnvirmentType)
10、setConcreteStrength(m_StruConcreteStrength)
11、setPavementDepth(m_StanPavementDepth)
12、setArchModelAttr(): 设置文件model的“ProjectSetting”字典的"建筑_编号"、"建筑_正负零标高"、"建筑_墙厚"、"建筑_地下表"、"建筑_地上表"的属性值;
13、getArchModelAttr():从model的‘Projectsetting’字典中获得单体建筑的建筑专业参数;
14、setStruModelAttr(): 设置文件model的“ProjectSetting”字典的"结构_设计年限"、"结构_抗震等级"、"结构_环境类别"、"结构_混凝土强度"、"结构_标准铺装层"的属性值;
15、getStruModelAttr():从model的‘Projectsetting’字典中获得单体建筑的结构专业参数;
16、getArchBianHao(): 获得单体建筑的楼栋编号,类型为String;
17、 getArchZeroElv():获得单体建筑的正负零标高,类型为Length;
18、getArchWallThickness():获得单体建筑的标准墙体厚度,类型为Length;
19、getDownFloor():获得单体建筑的地下楼层数组,如:[["-1",3600.mm],["-2",3600.mm],["-3",3600.mm]];
20、getUpFloor():获得单体建筑的地上楼层数组,如:[["1",4500.mm],["2",4500.mm],["3",4500.mm],["4",3000.mm]["5",3000.mm]];


学而不思则罔,思而不学则殆
回复 支持 反对

使用道具 举报

90

主题

182

帖子

799

积分

高级会员

Rank: 4

积分
799
发表于 2019-7-3 16:10:16 | 显示全部楼层
21、getDownTotalElv():获得单体建筑的地下楼层总高度,类型为Length;
22、getUpTotalElv():获得单体建筑的地上楼层总高度,类型为Length;
23、getFloorNumArr():获得单体建筑的地下、地上楼层数数组,类型为Array,其元素为Fixnum,[地下层数,地上层数];
24、FloorInclude?(id_layerStr):判断所给定楼层编号id_layerStr是否包含在单体建筑的楼层编码中,参数类型有误或无‘ProjectSetting’字典返回 false,未包含返回nil,成功返回true;
25、getFloorCG(id_layerStr):返回给定楼层编号id_layerStr的楼层高度,参数类型有误或无‘ProjectSetting’字典返回 false,未包含返回nil,成功返回Length;
26、getFloorBG(id_layerStr):返回给定层数id_layerStr的楼面标高,参数类型有误或无‘ProjectSetting’字典返回 false,未包含返回nil,成功返回Length;
27、getDesignLife(),获得单体建筑的设计年限,返回值类型为String;
28、getAseismicGrade(),获得单体建筑的通用抗震等级,返回值类型为String;
29、getEnvirmentType(),获得单体建筑的通用环境类别,返回值类型为String;
30、getConcreteStrength(),获得单体建筑的通用混凝土强度,返回值类型为String;
31、getPavementLayerDepth(),获得单体建筑的标准铺装厚度,返回值类型为Length;
32、 addFloorLayer(floorStr):添加给定楼层名称创建对应的专业图层,参数类型有误返回 false;
33、addLayerS():创建项目的系列专业图层;
34、entitySelection(m_FloorStr,m_Major,m_LeiB,m_LeiX):已知m_FloorStr(楼层编码)、m_Major(专业名称)、m_LeiB(实体类别)、m_LeiX(实体类型),返回选择实体,m_FloorStr、m_Major、m_LeiB、和m_LeiX同时为“*”时,返回全部实体组;
35、entityFloorSelection(mInputSelectionArr,m_FloorStr):实体楼层选择,已知mInputSelectionArr(实体数组)和m_FloorStr(楼层编码),返回选择实体组,m_FloorStr为“*”时,返回全部实体组;
36、entityMajorSelection(mInputSelectionArr,m_Major): 实体专业选择,已知mInputSelectionArr(实体数组)和m_Major(专业名称),返回选择实体组,m_Major为“*”时,返回全部实体组;
37、entityLeiBSelection(mInputSelectionArr,m_LeiB):实体类别选择,已知mInputSelectionArr(实体数组)和m_LeiB(实体类别),返回选择实体组,m_LeiB为“*”时,返回全部实体组;
38、entityLeiXSelection(mInputSelectionArr,m_LeiX):实体类型选择,已知mInputSelectionArr(实体数组)和m_LeiX(实体类型),返回选择实体组,m_LeiX为“*”时,返回全部实体组;
39、copy(layname1,layname2,tr):拷贝layername1实体到layername2,同时按tr移动矩阵值移动。(此函数有待验证......)

学而不思则罔,思而不学则殆
回复 支持 反对

使用道具 举报

90

主题

182

帖子

799

积分

高级会员

Rank: 4

积分
799
发表于 2019-7-3 16:11:49 | 显示全部楼层
二、ArchWallLine_01KJ
(一)基本信息
1、模板名称:Tzbm_Architectural_Common
2、继承父类:Tzbm_Common:rawBase_01KJ
3、开发时间:2018/04/20
4、开发人员:李总
(二)成员变量
1、@mMath数学基础变量,类型为Math_01KJ类变量,定义方法attr_reader;
2、m_EntityID,生成的墙实体名称ID,定义方法attr_accessor
3、@mEntityClass实体类名,类型为字符型,值仅为“ArchWallLine_01KJ,定义方法attr_reader;
4、@mGroupName实体名称,类型为字符型,默认值为“WallLine_0”,定义方法attr_reader;
5、@m_BuildingStr建筑栋号,类型为字符型,默认值为“A”,定义方法attr_accessor;
6、@m_FloorStr建筑楼层编号,类型为字符型,默认值为“1”,定义方法attr_accessor;
7、@mSerialNum墙体编号,类型为整型,默认值为0,定义方法attr_reader;
8、@mCategory,墙体类别,类型为字符型,值仅为“填充墙”,定义方法attr_reader;
9、@m_Type墙体类型,类型为字符型,包括“外墙”、“围墙”和“隔墙”,默认值为“隔墙”,定义方法attr_accessor;
10、@mGroupDescription墙体细分,类型为字符型,包括“直墙”和“弧墙”,默认值为“直墙”,定义方法attr_reader;
11、@m_BianHao墙体专业编号,类型为字符型,默认值为“”,定义方法attr_accessor;
12、@m_EngiMatStr墙体工程材质,类型为字符型,默认值为“页岩砖”,定义方法attr_accessor;
13、@m_WallDepth墙体厚度,类型为Length型,默认值为240.mm,定义方法attr_accessor;
14、@m_ElevationBottom,墙体底标高,相对楼层面标高的相对标高,类型为Geom:oint3d ,默认值为Geom:oint3d.new(0,0,0.mm),计算取Z值,定义方法attr_accessor;
15、@m_ElevationTop墙体顶标高,相对楼层面标高的相对标高,类型为Geom:oint3d ,默认值为Geom::Point3d.new(0,0,3000.mm),计算取Z值,定义方法attr_accessor;
16、@m_FloorElevation楼层面标高,类型为Length型,默认值为3000.mm,定义方法attr_accessor;
17、@m_Point1墙体起点坐标,类型为Geom:oint3d ,Z值应为0,定义方法attr_accessor;
18、@m_Point1Left墙体起点左侧点坐标,类型为Geom:oint3d ,Z值应为0,定义方法attr_accessor;
19、@m_Point1Right墙体起点右侧点坐标,类型为Geom:oint3d ,Z值应为0,定义方法attr_accessor;
20、@m_Point2墙体终点坐标,类型为Geom:oint3d ,Z值应为0,定义方法attr_accessor;
21、@m_Point2Left墙体终点左侧点坐标,类型为Geom:oint3d ,Z值应为0,定义方法attr_accessor;
22、@m_Point2Right墙体终点右侧点坐标,类型为Geom:oint3d ,Z值应为0,定义方法attr_accessor;
23、@m_LeftDepth墙体左侧厚度,类型为Length型,默认值为120.mm,定义方法attr_accessor;
24、@m_LeftMat墙体左侧纹理材质,类型为String型,默认值为“WallMatLeft”,定义方法attr_accessor;
25、@m_RightDepth墙体右侧厚度,类型为Length型,默认值为120.mm,定义方法attr_accessor;
26、@m_RightMat墙体左侧纹理材质,类型为String型,默认值为“WallMatRight”,定义方法attr_accessor;
27、@m_BottomMat墙体底部纹理材质,类型为String型,默认值为“WallMatBottom”,定义方法attr_accessor;
28、@m_TopMat墙体顶部纹理材质,类型为String型,默认值为“WallMatTop”,定义方法attr_accessor;
29、@m_FirstMat墙体起点端部纹理材质,类型为String型,默认值为“WallMatFirst”,定义方法attr_accessor;
30、@m_LastMat墙体终点端部纹理材质,类型为String型,默认值为“WallMatLast”,定义方法attr_accessor;


学而不思则罔,思而不学则殆
回复 支持 反对

使用道具 举报

90

主题

182

帖子

799

积分

高级会员

Rank: 4

积分
799
发表于 2019-7-3 16:12:58 | 显示全部楼层
31、@m_HoleMat墙体洞口内测纹理材质,类型为String型,默认值为“WallMatHole”,定义方法attr_accessor;
32、@m_Hole墙洞坐标组,类型为Array型,组元素类型为Geom:oint3d,为XOZ平面的正射投影转点坐标组,初始止为[(0,0,0) (500.mm,0,0) (500.mm,0,1200.mm) (0,0,1200.mm)],定义方法attr_accessor;
33、m_HoleBottomOffset墙洞底面偏移值(或标高),相对于墙底标高@m_ElevationBottom,类型为Length型,默认值为900.mm,定义方法attr_accessor;
34、m_HoleLeftOffset墙洞左侧偏移值,相对于起点的左偏移距离(X轴正向为正),类型为Length型,默认值为900.mm,定义方法attr_accessor;
35、@m_BottomMarkElevArr墙体底部桩号·标高组数组(类型为Array),其元素为桩号·标高组(类型为Array),桩号类型为Length,标高类型为Length(相对于墙体底标高@m_ElevationBottom),定义方法attr_accessor;
36、@m_TopMarkElevArr墙体顶部桩号·标高组数组(类型为Array),其元素为桩号·标高组(类型为Array),桩号类型为Length,标高类型为Length(相对于墙体顶标高@m_TopBottom),定义方法attr_accessor;
37、@mWallLength墙体长度,墙体中线长度值,类型为Length,定义方法attr_reader;
38、@mWallArea墙体面积,左右侧墙体的平均值,类型为Float,定义方法attr_reader;
39、@mWallVolumn,墙体体积,类型为Float,定义方法attr_reader;
40、@mWallVt墙体的前进方向向量,类型为Geom::Vector3d,定义方法attr_reader;
41、@mFirstPointArr墙体起点综合变量,类型为Array,[@m_Point1,@m_Point1Left,@m_Point1Right],用于记录和传递属性,定义方法attr_reader;
42、@mSecondPointArr墙体终点综合变量,类型为Array,[@m_Point2,@m_Point2Left,@m_Point2Right],用于记录和传递属性,定义方法attr_reader;
43、@mLeftLength墙体左侧长度,类型为Length,定义方法attr_reader;
44、@mLeftArea墙体左侧面积,类型为Float,定义方法attr_reader;
45、@mRightLength墙体右侧长度,类型为Length,定义方法attr_reader;
46、@mRightArea墙体右侧面积,类型为Float,定义方法attr_reader;
47、@mBottomArea,墙体底部面积,类型为Float,定义方法attr_reader;
48、@mTopArea墙体顶部面积,类型为Float,定义方法attr_reader
49、@mFirstArea墙体起点端部面积,类型为Float,定义方法attr_reader
50、@mLastArea墙体终点端部面积,类型为Float,定义方法attr_reader
51、@mHoleArea墙洞面积,类型为Float,定义方法attr_reader;
52、@mHoleArr墙体墙洞转点组数组,类型为Array,其元素为墙洞转点组(类型为Array,元素为Geom:oint3d),定义方法attr_reader;
53、@mWallHeight,墙体高度,类型为Length型,默认值为nil,定义方法attr_reader;
54、@mLeftArrB,墙体底部左侧点组,类型为Array,元素为Geom:oint3d,定义方法attr_reader;
55、@mRightArrB墙体底部右侧点组,类型为Array,元素为Geom:oint3d,定义方法attr_reader;
56、@mLeftArrT墙体顶部左侧点组,类型为Array,元素为Geom:oint3d,定义方法attr_reader;
57、@mRightArrT墙体顶部右侧点组,类型为Array,元素为Geom:oint3d,定义方法attr_reader;
58、@mPtArrStandardFrame墙体标准边框左右侧转点数组,类型为Array,子元素分别为左右侧Array,孙元素为Geom:oint3d,定义方法attr_reader;
59、@mPtArrEntityFrame墙体实际边框左右侧转点数组,类型为Array,子元素分别为左右侧Array,孙元素为Geom:oint3d,定义方法attr_reader;

学而不思则罔,思而不学则殆
回复 支持 反对

使用道具 举报

90

主题

182

帖子

799

积分

高级会员

Rank: 4

积分
799
发表于 2019-7-3 16:13:45 | 显示全部楼层
(三)字典和关键字
1、"01EntityAttribute"
——"EntityClass"
2、"BaseAttribute"
——"001_栋号":@m_BuildingStr
——"002_层数":@m_FloorStr
——"003_序号":@mSerialNum
——"004_类别":@mCategory
——"005_类型":@m_Type
——"006_编号":@m_BianHao
3、"EngineeringAttribute"
——"001_材质":@m_EngiMatStr
——"002_墙厚":@m_WallDepth
——"003_墙高":@mWallHeight
——"004_墙长":@mWallLength
——"005_面积(㎡)":("%.4f" % @mWallArea.to_m.to_m)
——"006_体积(m³)":("%.3f" % @mWallVolumn.to_m.to_m.to_m)
——"007_底标高":@m_ElevationBottom
——"008_顶标高":@m_ElevationTop
——"009_墙底LH":@m_BottomMarkElevArr
——"010_墙顶LH":@m_TopMarkElevArr
4、"SpaceAttribute"
——"楼层标高":@m_FloorElevation
——"第一点组":@mFirstPointArr
——"第二点组":        @mSecondPointArr
——"左长":@mLeftLength
——"左厚":@m_LeftDepth
——左面积(㎡):("%.4f" % @mLeftArea.to_m.to_m)
——"左纹理":@m_LeftMat
——"右长";@mRightLength
——"右厚";@m_RightDepth
——"右面积(㎡)";("%.4f" % @mRightArea.to_m.to_m)
——"右纹理";@m_RightMat
——"底纹理";@m_BottomMat
——"顶纹理";@m_TopMat
——"起点纹理";@m_FirstMat
——"终点纹理";@m_LastMat
——"墙洞纹理";@m_HoleMat
——"底面积(㎡)";("%.4f" % @mBottomArea.to_m.to_m)
——"顶面积(㎡)";("%.4f" % @mTopArea.to_m.to_m)
——"起点端面积(㎡)";("%.4f" % @mFirstArea.to_m.to_m)
——"终点端面积(㎡)";("%.4f" % @mLastArea.to_m.to_m)
——"墙洞组":@mHoleArr
——"墙洞总面积(㎡)":("%.4f" % @mHoleAreaTotal.to_m.to_m)


学而不思则罔,思而不学则殆
回复 支持 反对

使用道具 举报

90

主题

182

帖子

799

积分

高级会员

Rank: 4

积分
799
发表于 2019-7-3 16:15:14 | 显示全部楼层
(四)成员函数
1、initialize(m_Entities=Sketchup.active_model.entities)
2、setEntityID(m_EntityID)
3、setBuildingStr(m_BuildingStr)
4、setFloorStr(m_FloorStr)
5、setType(m_Type)
6、setBianHao(m_BianHao)
7、setEngiMatStr(m_EngiMatStr)
8、setWallDepth(m_WallDepth)
09、setElevationBottom(m_ElevationBottom)
10、setElevationTop(m_ElevationTop)
11、setFloorElevation(m_FloorElevation)
12、setPoint1(m_Point1)
13、setPoint1Left(m_Point1Left)
14、setPoint1Right(m_Point1Right)
15、setPoint2(m_Point2)
16、setPoint2Left(m_Point2Left)
17、setPoint2Right(m_Point2Right)
18、setLeftDepth(m_LeftDepth)
19、setLeftMat(m_LeftMat)
20、setRightDepth(m_RightDepth)
21、setRightMat(m_RightMat)
22、setBottomMat(m_BottomMat)
23、setTopMat(m_TopMat)
24、setFirstMat(m_FirstMat)
25、setLastMat(m_LastMat)
26、setHoleMat(m_HoleMat)
27、setHole(m_Hole)
28、setHoleBottomOffset(m_HoleBottomOffset)
29、setHoleLeftOffset(m_HoleLeftOffset)
30、countVariable()
31、updatePtLR(): 获取@mPoint1Left、@mPoint1Right、@mPoint2Right、@mPoint2Left
32、createEntity():调用层,生成实体主程序
33、createEntLineDef_JM():定义层,创建实体子程序——初级会员
34、drawEntLineCore_JM(ents):核心层,绘制实体子程序,供初级会员的定义层使用
35、createEntLineDef_IM():定义层,创建实体子程序——中级会员
36、drawEntLineCore_IM(ents):核心层,绘制实体子程序,供中级会员的定义层使用
37、setAttribute():设置实体属性
38、getValues(dictionary):获取字典值数组
39、getKeys(dictionary):获取字典关键字数组
40、getDictKeyValue(dictionary,key):获取字典关键字对应的值
41、getDictLength(dictionary):获取字典关键字个数
42、updateArguments():根据新实体ID更新实例变量
43、countSerialNum():计算name.include?("WallLine")实体的总数量,返回值为Fixnum型值,赋予@mSerialNum
44、createHoleLine():绘制直墙墙洞
45、calculationLAV():统计长度、面积、体积
46、convertPointArr(ptArrBase,pointArr): 转换点组坐标
47、createHoleArr():根据实例变量@mHoleArr绘制墙洞
48、viewDrawStandardFrame(view):视图绘制墙体标准边框
49、viewDrawEntityFrame(view):视图绘制墙体实际边框
50、viewDrawEntityHole(view):视图绘制实际墙洞

学而不思则罔,思而不学则殆
回复 支持 反对

使用道具 举报

90

主题

182

帖子

799

积分

高级会员

Rank: 4

积分
799
发表于 2019-7-3 16:16:39 | 显示全部楼层
三、ArchWallArc_01KJ
(一)基本信息
1、模板名称:Tzbm_Architectural_Common
2、继承父类:Tzbm_Common:rawBase_01KJ
3、开发时间:2018/11/23
4、开发人员:李总
(二)成员变量
1、@mMath数学基础变量,类型为Math_01KJ类变量,定义方法attr_reader;
2、m_EntityID,生成的墙实体名称ID,定义方法attr_accessor
3、@mEntityClass实体类名,类型为字符型,值仅为“ArchWallArc_01KJ,定义方法attr_reader;
4、@mGroupName实体名称,类型为字符型,默认值为“WallLine_0”,定义方法attr_reader;
5、@m_BuildingStr建筑栋号,类型为字符型,默认值为“A”,定义方法attr_accessor;
6、@m_FloorStr建筑楼层编号,类型为字符型,默认值为“1”,定义方法attr_accessor;
7、@mSerialNum墙体编号,类型为整型,默认值为0,定义方法attr_reader;
8、@mCategory,墙体类别,类型为字符型,值仅为“填充墙”,定义方法attr_reader;
9、@m_Type墙体类型,类型为字符型,包括“外墙”、“围墙”、“隔墙”和“女儿墙”,默认值为“隔墙”,定义方法attr_accessor;
10、@mGroupDescription墙体细分,类型为字符型,包括“直墙”和“弧墙”,默认值为“直墙”,定义方法attr_reader;
11、@m_BianHao墙体专业编号,类型为字符型,默认值为“”,定义方法attr_accessor;
12、@m_EngiMatStr墙体工程材质,类型为字符型,默认值为“页岩砖”,定义方法attr_accessor;
13、@m_WallDepth墙体厚度,类型为Length型,默认值为240.mm,定义方法attr_accessor;
14、@mWallHeight墙体高度,类型为Length型,默认值为nil,定义方法attr_reader;
15、@m_ElevationBottom,墙体底标高,相对楼层面标高的相对标高,类型为Geom:oint3d ,默认值为Geom:oint3d.new(0,0,0.mm),计算取Z值,定义方法attr_accessor;
16、@m_ElevationTop墙体顶标高,相对楼层面标高的相对标高,类型为Geom:oint3d ,默认值为Geom::Point3d.new(0,0,3000.mm),计算取Z值,定义方法attr_accessor;
17、@m_FloorElevation楼层面标高,类型为Length型,默认值为3000.mm,定义方法attr_accessor;
18、@m_Point1墙体起点坐标,类型为Geom:oint3d ,Z值应为0,定义方法attr_accessor;
19、@m_Point1Left墙体起点左侧点坐标,类型为Geom:oint3d ,Z值应为0,定义方法attr_accessor;
20、@m_Point1Right墙体起点右侧点坐标,类型为Geom:oint3d ,Z值应为0,定义方法attr_accessor;
21、@m_Point2墙体终点坐标,类型为Geom:oint3d ,Z值应为0,定义方法attr_accessor;
22、@m_Point2Left墙体终点左侧点坐标,类型为Geom:oint3d ,Z值应为0,定义方法attr_accessor;
23、@m_Point2Right墙体终点右侧点坐标,类型为Geom:oint3d ,Z值应为0,定义方法attr_accessor;
24、@m_Point3墙体终点坐标,类型为Geom:oint3d ,Z值应为0,定义方法attr_accessor;
25、@m_Point3Left墙体终点左侧点坐标,类型为Geom::Point3d ,Z值应为0,定义方法attr_accessor;
26、@m_Point3Right墙体终点右侧点坐标,类型为Geom::Point3d ,Z值应为0,定义方法attr_accessor;
27、@m_LeftDepth墙体左侧厚度,类型为Length型,默认值为120.mm,定义方法attr_accessor;
28、@m_LeftMat墙体左侧纹理材质,类型为String型,默认值为“WallMatLeft”,定义方法attr_accessor;
29、@m_RightDepth墙体右侧厚度,类型为Length型,默认值为120.mm,定义方法attr_accessor;
30、@m_RightMat墙体左侧纹理材质,类型为String型,默认值为“WallMatRight”,定义方法attr_accessor;


学而不思则罔,思而不学则殆
回复 支持 反对

使用道具 举报

90

主题

182

帖子

799

积分

高级会员

Rank: 4

积分
799
发表于 2019-7-3 16:17:24 | 显示全部楼层
31、@m_BottomMat墙体底部纹理材质,类型为String型,默认值为“WallMatBottom”,定义方法attr_accessor;
32、@m_TopMat墙体顶部纹理材质,类型为String型,默认值为“WallMatTop”,定义方法attr_accessor;
33、@m_FirstMat墙体起点端部纹理材质,类型为String型,默认值为“WallMatFirst”,定义方法attr_accessor;
34、@m_LastMat墙体终点端部纹理材质,类型为String型,默认值为“WallMatLast”,定义方法attr_accessor;
35、@m_HoleMat墙体洞口内测纹理材质,类型为String型,默认值为“WallMatHole”,定义方法attr_accessor;
36、@m_Hole墙洞坐标组,类型为Array型,组元素类型为Geom:oint3d,为XOZ平面的正射投影转点坐标组,初始止为[(0,0,0) (500.mm,0,0) (500.mm,0,1200.mm) (0,0,1200.mm)],定义方法attr_accessor;
37、m_HoleBottomOffset墙洞底面偏移值(或标高),相对于墙底标高@m_ElevationBottom,类型为Length型,默认值为900.mm,定义方法attr_accessor;
38、m_CenPtBottom墙洞底边中心点,类型为Geom:oint3d型,默认值为nil,定义方法attr_accessor;
39、@m_BottomMarkElevArr墙体底部桩号·标高组数组(类型为Array),其元素为桩号·标高组(类型为Array),桩号类型为Length,标高类型为Length(相对于墙体底标高@m_ElevationBottom),定义方法attr_accessor;
40、@m_TopMarkElevArr墙体顶部桩号·标高组数组(类型为Array),其元素为桩号·标高组(类型为Array),桩号类型为Length,标高类型为Length(相对于墙体顶标高@m_TopBottom),定义方法attr_accessor;
41、@m_Accuracy,弧墙精度,类型为Length,定义方法attr_accessor;
42、@mWallLength墙体长度,墙体中线长度值,类型为Length,定义方法attr_reader;
43、@mWallArea墙体面积,左右侧墙体的平均值,类型为Float,定义方法attr_reader;
44、@mWallVolumn,墙体体积,类型为Float,定义方法attr_reader;
45、@mWallVt墙体的前进方向向量,@m_Point3-@m_Point1类型为Geom::Vector3d,定义方法attr_reader;
46、@mFirstPointArr墙体起点综合变量,类型为Array,[@m_Point1,@m_Point1Left,@m_Point1Right],用于记录和传递属性,定义方法attr_reader;
47、@mSecondPointArr墙体终点综合变量,类型为Array,[@m_Point2,@m_Point2Left,@m_Point2Right],用于记录和传递属性,定义方法attr_reader;
48、@mThirdPointArr墙体终点综合变量,类型为Array,[@m_Point3,@m_Point3Left,@m_Point3Right],用于记录和传递属性,定义方法attr_reader;
49、@mLeftLength墙体左侧长度,类型为Length,定义方法attr_reader;
50、@mLeftArea墙体左侧面积,类型为Float,定义方法attr_reader;
51、@mRightLength墙体右侧长度,类型为Length,定义方法attr_reader;
52、@mRightArea墙体右侧面积,类型为Float,定义方法attr_reader;
53、@mBottomArea墙体底部面积,类型为Float,定义方法attr_reader;
54、@mTopArea墙体顶部面积,类型为Float,定义方法attr_reader;
55、@mFirstArea墙体起点端部面积,类型为Float,定义方法attr_reader;
56、@mLastArea墙体终点端部面积,类型为Float,定义方法attr_reader;
57、@mHoleArea墙洞面积,类型为Float,定义方法attr_reader;
58、@mHoleAreaTotal墙洞面积总和,类型为Float,定义方法attr_reader;
59、@mHoleArr墙体墙洞转点组数组,类型为Array,其元素为墙洞转点组(类型为Array,元素为Geom:oint3d),定义方法attr_reader;
60、@mLeftArrB,墙体底部左侧点组,类型为Array,元素为Geom:oint3d,定义方法attr_reader;
61、@mRightArrB墙体底部右侧点组,类型为Array,元素为Geom:oint3d,定义方法attr_reader;
62、@mLeftArrT墙体顶部左侧点组,类型为Array,元素为Geom:oint3d,定义方法attr_reader;
63、@mRightArrT墙体顶部右侧点组,类型为Array,元素为Geom:oint3d,定义方法attr_reader;
64、@mPtArrStandardFrame墙体标准边框左右侧转点数组,类型为Array,子元素分别为左右侧Array,孙元素为Geom:oint3d,定义方法attr_reader;
65、@mPtArrEntityFrame墙体实际边框左右侧转点数组,类型为Array,子元素分别为左右侧Array,孙元素为Geom:oint3d,定义方法attr_reader;

学而不思则罔,思而不学则殆
回复 支持 反对

使用道具 举报

90

主题

182

帖子

799

积分

高级会员

Rank: 4

积分
799
发表于 2019-7-3 16:18:40 | 显示全部楼层
(三)字典和关键字
1、"01EntityAttribute"
——"EntityClass"
2、"BaseAttribute"
——"001_栋号":@m_BuildingStr
——"002_层数":@m_FloorStr
——"003_序号":@mSerialNum
——"004_类别":@mCategory
——"005_类型":@m_Type
——"006_编号":@m_BianHao
3、"EngineeringAttribute"
——"001_材质":@m_EngiMatStr
——"002_墙厚":@m_WallDepth
——"003_墙高":@mWallHeight
——"004_墙长":@mWallLength
——"005_面积(㎡)":("%.4f" % @mWallArea.to_m.to_m)
——"006_体积(m³)":("%.3f" % @mWallVolumn.to_m.to_m.to_m)
——"007_底标高":@m_ElevationBottom
——"008_顶标高":@m_ElevationTop
——"009_墙底LH":@m_BottomMarkElevArr
——"010_墙顶LH":@m_TopMarkElevArr
4、"SpaceAttribute"
——"楼层标高":@m_FloorElevation
——"第一点组":@mFirstPointArr
——"第二点组":        @mSecondPointArr
——"第三点组":        @mThirdPointArr
——"左长":@mLeftLength
——"左厚":@m_LeftDepth
——左面积(㎡):("%.4f" % @mLeftArea.to_m.to_m)
——"左纹理":@m_LeftMat
——"右长";@mRightLength
——"右厚";@m_RightDepth
——"右面积(㎡)";("%.4f" % @mRightArea.to_m.to_m)
——"右纹理";@m_RightMat
——"底纹理";@m_BottomMat
——"顶纹理";@m_TopMat
——起点纹理";@m_FirstMat
——"终点纹理";@m_LastMat
——"墙洞纹理";@m_HoleMat
——"底面积(㎡)";("%.4f" % @mBottomArea.to_m.to_m)
——"顶面积(㎡)";("%.4f" % @mTopArea.to_m.to_m)
——"起点端面积(㎡)";("%.4f" % @mFirstArea.to_m.to_m)
——"终点端面积(㎡)";("%.4f" % @mLastArea.to_m.to_m)
——"墙洞组":@mHoleArr
——"墙洞总面积(㎡)":("%.4f" % @mHoleAreaTotal.to_m.to_m)


学而不思则罔,思而不学则殆
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-23 23:24 , Processed in 0.066041 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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