mirror of
http://gitlab.expertsoft.com.ua/git/expertcad
synced 2026-01-11 17:25:39 +02:00
First commit
This commit is contained in:
parent
713ddf52b4
commit
000979b6df
@ -1,10 +1,10 @@
|
||||
object frm3D: Tfrm3D
|
||||
Left = -8
|
||||
Top = -8
|
||||
Left = 1
|
||||
Top = 1
|
||||
BorderIcons = [biSystemMenu]
|
||||
Caption = #1055#1088#1086#1089#1084#1086#1090#1088' '#1074' 3D'
|
||||
ClientHeight = 705
|
||||
ClientWidth = 1360
|
||||
ClientHeight = 687
|
||||
ClientWidth = 1342
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
@ -35,15 +35,17 @@ object frm3D: Tfrm3D
|
||||
object panMain: TPanel
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 1360
|
||||
Height = 705
|
||||
Width = 1342
|
||||
Height = 687
|
||||
Align = alClient
|
||||
Caption = 'Panel2'
|
||||
TabOrder = 0
|
||||
ExplicitWidth = 1360
|
||||
ExplicitHeight = 705
|
||||
object Splitter1: TSplitter
|
||||
Left = 1356
|
||||
Left = 1338
|
||||
Top = 42
|
||||
Height = 662
|
||||
Height = 644
|
||||
Align = alRight
|
||||
AutoSnap = False
|
||||
ResizeStyle = rsUpdate
|
||||
@ -53,14 +55,15 @@ object frm3D: Tfrm3D
|
||||
object panUpper: TPanel
|
||||
Left = 1
|
||||
Top = 1
|
||||
Width = 1358
|
||||
Width = 1340
|
||||
Height = 41
|
||||
Align = alTop
|
||||
BevelOuter = bvNone
|
||||
Color = 15329769
|
||||
TabOrder = 0
|
||||
ExplicitWidth = 1358
|
||||
DesignSize = (
|
||||
1358
|
||||
1340
|
||||
41)
|
||||
object SpeedButton1: TSpeedButton
|
||||
Left = 8
|
||||
@ -108,7 +111,7 @@ object frm3D: Tfrm3D
|
||||
OnClick = SpeedButton3Click
|
||||
end
|
||||
object lbViewType: TLabel
|
||||
Left = 1186
|
||||
Left = 1168
|
||||
Top = 25
|
||||
Width = 163
|
||||
Height = 16
|
||||
@ -155,7 +158,7 @@ object frm3D: Tfrm3D
|
||||
OnClick = sbSaveModelClick
|
||||
end
|
||||
object sbApplyScsModel: TSpeedButton
|
||||
Left = 1091
|
||||
Left = 1073
|
||||
Top = 13
|
||||
Width = 161
|
||||
Height = 22
|
||||
@ -169,9 +172,10 @@ object frm3D: Tfrm3D
|
||||
Font.Style = []
|
||||
ParentFont = False
|
||||
OnClick = sbApplyScsModelClick
|
||||
ExplicitLeft = 1091
|
||||
end
|
||||
object SpeedButton4: TSpeedButton
|
||||
Left = 1258
|
||||
Left = 1240
|
||||
Top = 8
|
||||
Width = 94
|
||||
Height = 22
|
||||
@ -210,30 +214,34 @@ object frm3D: Tfrm3D
|
||||
object panScene: TPanel
|
||||
Left = 1
|
||||
Top = 42
|
||||
Width = 1035
|
||||
Height = 662
|
||||
Width = 1017
|
||||
Height = 644
|
||||
Align = alClient
|
||||
BevelInner = bvLowered
|
||||
TabOrder = 1
|
||||
ExplicitWidth = 1035
|
||||
ExplicitHeight = 662
|
||||
object Panel3: TPanel
|
||||
Left = 2
|
||||
Top = 2
|
||||
Width = 1031
|
||||
Height = 658
|
||||
Width = 1013
|
||||
Height = 640
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
Ctl3D = False
|
||||
ParentCtl3D = False
|
||||
TabOrder = 0
|
||||
ExplicitWidth = 1031
|
||||
ExplicitHeight = 658
|
||||
object GLSceneViewer: TGLSceneViewer
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 1031
|
||||
Height = 613
|
||||
Width = 1013
|
||||
Height = 595
|
||||
Camera = GLCamera
|
||||
Buffer.BackgroundColor = 15987957
|
||||
Buffer.AntiAliasing = aa2x
|
||||
FieldOfView = 124.868827819824200000
|
||||
FieldOfView = 123.455924987793000000
|
||||
Align = alClient
|
||||
OnClick = GLSceneViewerClick
|
||||
OnDblClick = GLSceneViewerDblClick
|
||||
@ -241,11 +249,13 @@ object frm3D: Tfrm3D
|
||||
OnMouseMove = GLSceneViewerMouseMove
|
||||
OnMouseUp = GLSceneViewerMouseUp
|
||||
TabOrder = 0
|
||||
ExplicitWidth = 1031
|
||||
ExplicitHeight = 613
|
||||
end
|
||||
object StatusBar1: TStatusBar
|
||||
Left = 0
|
||||
Top = 633
|
||||
Width = 1031
|
||||
Top = 615
|
||||
Width = 1013
|
||||
Height = 25
|
||||
Panels = <
|
||||
item
|
||||
@ -253,51 +263,59 @@ object frm3D: Tfrm3D
|
||||
Width = 50
|
||||
end>
|
||||
OnDrawPanel = StatusBar1DrawPanel
|
||||
ExplicitTop = 633
|
||||
ExplicitWidth = 1031
|
||||
end
|
||||
object sbView: TPanel
|
||||
Left = 0
|
||||
Top = 613
|
||||
Width = 1031
|
||||
Top = 595
|
||||
Width = 1013
|
||||
Height = 20
|
||||
Align = alBottom
|
||||
Alignment = taLeftJustify
|
||||
BevelInner = bvLowered
|
||||
Locked = True
|
||||
TabOrder = 2
|
||||
ExplicitTop = 613
|
||||
ExplicitWidth = 1031
|
||||
end
|
||||
end
|
||||
end
|
||||
object RzSizePanel1: TRzSizePanel
|
||||
Left = 1036
|
||||
Left = 1018
|
||||
Top = 42
|
||||
Width = 320
|
||||
Height = 662
|
||||
Height = 644
|
||||
Align = alRight
|
||||
BorderWidth = 1
|
||||
HotSpotVisible = True
|
||||
SizeBarWidth = 7
|
||||
TabOrder = 2
|
||||
VisualStyle = vsClassic
|
||||
ExplicitLeft = 1036
|
||||
ExplicitHeight = 662
|
||||
object RzPageControl1: TRzPageControl
|
||||
AlignWithMargins = True
|
||||
Left = 16
|
||||
Top = 4
|
||||
Width = 300
|
||||
Height = 654
|
||||
Height = 636
|
||||
ActivePage = TabSheet1
|
||||
ActivePageDefault = TabSheet1
|
||||
Align = alRight
|
||||
TabIndex = 0
|
||||
TabOrder = 0
|
||||
TabStyle = tsSquareCorners
|
||||
ExplicitHeight = 654
|
||||
FixedDimension = 19
|
||||
object TabSheet1: TRzTabSheet
|
||||
Caption = #1052#1086#1076#1077#1083#1100
|
||||
ExplicitHeight = 628
|
||||
object panObjects: TPanel
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 296
|
||||
Height = 628
|
||||
Height = 610
|
||||
Align = alClient
|
||||
BevelInner = bvLowered
|
||||
Font.Charset = RUSSIAN_CHARSET
|
||||
@ -307,9 +325,10 @@ object frm3D: Tfrm3D
|
||||
Font.Style = []
|
||||
ParentFont = False
|
||||
TabOrder = 0
|
||||
ExplicitHeight = 628
|
||||
object Splitter2: TSplitter
|
||||
Left = 2
|
||||
Top = 173
|
||||
Top = 155
|
||||
Width = 292
|
||||
Height = 3
|
||||
Cursor = crVSplit
|
||||
@ -323,20 +342,18 @@ object frm3D: Tfrm3D
|
||||
Left = 2
|
||||
Top = 2
|
||||
Width = 292
|
||||
Height = 171
|
||||
Height = 153
|
||||
ActivePage = TabScsModel
|
||||
Align = alClient
|
||||
TabIndex = 1
|
||||
TabOrder = 0
|
||||
TabStyle = tsRoundCorners
|
||||
OnTabClick = pcTreeTabClick
|
||||
ExplicitHeight = 171
|
||||
FixedDimension = 19
|
||||
object TabArchModel: TRzTabSheet
|
||||
Caption = #1040#1088#1093'. '#1084#1086#1076#1077#1083#1100
|
||||
ExplicitLeft = 0
|
||||
ExplicitTop = 0
|
||||
ExplicitWidth = 0
|
||||
ExplicitHeight = 0
|
||||
ExplicitHeight = 145
|
||||
object cxGroupBox1: TcxGroupBox
|
||||
Left = 0
|
||||
Top = 0
|
||||
@ -391,7 +408,7 @@ object frm3D: Tfrm3D
|
||||
Left = 0
|
||||
Top = 47
|
||||
Width = 288
|
||||
Height = 98
|
||||
Height = 80
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
BorderStyle = bsNone
|
||||
@ -418,10 +435,12 @@ object frm3D: Tfrm3D
|
||||
000000000000000000000001067200650072006500720065002C000000000000
|
||||
0000000000FFFFFFFFFFFFFFFF00000000000000000000000001077200650072
|
||||
007200650072006500}
|
||||
ExplicitHeight = 98
|
||||
end
|
||||
end
|
||||
object TabScsModel: TRzTabSheet
|
||||
Caption = #1057#1050#1057' '#1084#1086#1076#1077#1083#1100
|
||||
ExplicitHeight = 145
|
||||
object cxGroupBox2: TcxGroupBox
|
||||
Left = 0
|
||||
Top = 0
|
||||
@ -476,7 +495,7 @@ object frm3D: Tfrm3D
|
||||
Left = 0
|
||||
Top = 47
|
||||
Width = 288
|
||||
Height = 98
|
||||
Height = 80
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
BorderStyle = bsNone
|
||||
@ -503,6 +522,7 @@ object frm3D: Tfrm3D
|
||||
000000000000000000000001067200650072006500720065002C000000000000
|
||||
0000000000FFFFFFFFFFFFFFFF00000000000000000000000001077200650072
|
||||
007200650072006500}
|
||||
ExplicitHeight = 98
|
||||
end
|
||||
object DuplicateNodeTree: TTreeView
|
||||
Left = 160
|
||||
@ -516,7 +536,7 @@ object frm3D: Tfrm3D
|
||||
end
|
||||
object pcProps: TRzPageControl
|
||||
Left = 2
|
||||
Top = 176
|
||||
Top = 158
|
||||
Width = 292
|
||||
Height = 450
|
||||
ActivePage = TabScsProps
|
||||
@ -524,13 +544,10 @@ object frm3D: Tfrm3D
|
||||
TabIndex = 1
|
||||
TabOrder = 1
|
||||
TabStyle = tsRoundCorners
|
||||
ExplicitTop = 176
|
||||
FixedDimension = 19
|
||||
object TabArchProps: TRzTabSheet
|
||||
Caption = #1040#1088#1093'. '#1089#1074#1086#1081#1089#1090#1074#1072
|
||||
ExplicitLeft = 0
|
||||
ExplicitTop = 0
|
||||
ExplicitWidth = 0
|
||||
ExplicitHeight = 0
|
||||
object Panel1: TPanel
|
||||
Left = 0
|
||||
Top = 0
|
||||
@ -2141,10 +2158,7 @@ object frm3D: Tfrm3D
|
||||
end
|
||||
object TabSheet2: TRzTabSheet
|
||||
Caption = #1053#1072#1089#1090#1088#1086#1081#1082#1080
|
||||
ExplicitLeft = 0
|
||||
ExplicitTop = 0
|
||||
ExplicitWidth = 0
|
||||
ExplicitHeight = 0
|
||||
ExplicitHeight = 628
|
||||
object Label10: TLabel
|
||||
Left = 5
|
||||
Top = 71
|
||||
@ -3404,7 +3418,7 @@ object frm3D: Tfrm3D
|
||||
Left = 100
|
||||
Top = 57
|
||||
Bitmap = {
|
||||
494C01013A00B000E40210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C01013A00B000000310001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
000000000000360000002800000040000000F0000000010020000000000000F0
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
|
||||
@ -530,9 +530,14 @@ type
|
||||
|
||||
FxObjects: TList;
|
||||
FNodes: TList;
|
||||
FCadList: TList; // Tolik 23/07/2025 -- ñïèñîê ëèñòîâ ïðîåêòà
|
||||
FFloorsHeightArray: Array of double; // ìàññèâ âûñîò ýòàæåé
|
||||
|
||||
//Tolik 22/06/2025 --
|
||||
//Procedure UpdateFaces(Faces: TList; Yh: Double = 0);
|
||||
Procedure UpdateFaces(Faces: TList; Yh: Double = 0; aFirstLoad: boolean = true);
|
||||
//Procedure UpdateFaces(Faces: TList; Yh: Double = 0; aFirstLoad: boolean = true);
|
||||
function getZOrder(aCad:TF_Cad): Double;
|
||||
Procedure UpdateFaces(Faces: TList; Yh: Double = 0; aFirstLoad: boolean = true; aZOrder: double = -1000);
|
||||
//
|
||||
procedure UpdateModelTree;
|
||||
procedure UpdateScsModelTree;
|
||||
@ -2007,8 +2012,25 @@ begin
|
||||
my := y;
|
||||
end;
|
||||
|
||||
function Tfrm3D.getZOrder(aCad:TF_Cad): Double;
|
||||
var i: integer;
|
||||
begin
|
||||
Result := 0;
|
||||
if FCadList.Count > 1 then
|
||||
begin
|
||||
for i := 0 to FCadList.Count - 1 do
|
||||
begin
|
||||
if TF_Cad(FCadList[i]) = aCad then
|
||||
begin
|
||||
result := FFloorsHeightArray[i];
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
//procedure Tfrm3D.UpdateFaces(Faces: TList; Yh: Double = 0);
|
||||
Procedure Tfrm3D.UpdateFaces(Faces: TList; Yh: Double = 0; aFirstLoad: boolean = true);
|
||||
//Procedure Tfrm3D.UpdateFaces(Faces: TList; Yh: Double = 0; aFirstLoad: boolean = true);
|
||||
Procedure Tfrm3D.UpdateFaces(Faces: TList; Yh: Double = 0; aFirstLoad: boolean = true; aZOrder: Double = -1000);
|
||||
//const
|
||||
// clrBlack : TVector = (0, 0, 0, 1);
|
||||
var
|
||||
@ -3949,17 +3971,28 @@ var
|
||||
p2 := GetPoint(aLine, 2, HalfWidth);
|
||||
//êîíòóð ïîääîíà ëîòêà Tolik 15/05/2025 --
|
||||
cp1 := RotatePoint(aLine.ap1, p1^, -PI/2);
|
||||
cp1.z := p1.z;
|
||||
//cp1.z := p1.z;
|
||||
cp1.z := aLine.actualZOrder[1];
|
||||
|
||||
cp2 := aLine.ap1;
|
||||
cp2.z := p1.z;
|
||||
//cp2.z := p1.z;
|
||||
cp2.z := aLine.actualZOrder[1];
|
||||
|
||||
cp3 := RotatePoint(aLine.ap1, p1^, PI/2);
|
||||
cp3.z := p1.z;
|
||||
//cp3.z := p1.z;
|
||||
cp3.z := aLine.actualZOrder[1];
|
||||
|
||||
cp4 := RotatePoint(aLine.ap2, p2^, -PI/2);
|
||||
cp4.z := p2.z;
|
||||
//cp4.z := p2.z;
|
||||
cp4.z := aLine.actualZOrder[2];
|
||||
|
||||
cp5 := aLine.ap2;
|
||||
cp5.z := p2.z;
|
||||
//cp5.z := p2.z;
|
||||
cp5.z := aLine.actualZOrder[2];
|
||||
|
||||
cp6 := RotatePoint(aLine.ap2, p2^, PI/2);
|
||||
cp6.z := p2.z;
|
||||
//cp6.z := p2.z;
|
||||
cp6.z := aLine.actualZOrder[2];
|
||||
{
|
||||
ap1 := RotatePoint(aLine.ap1, p1^, -PI/2);
|
||||
ap2 := RotatePoint(aLine.ap1, p1^, PI/2);
|
||||
@ -4766,56 +4799,58 @@ begin
|
||||
end;
|
||||
begin
|
||||
try
|
||||
bb := TBitmap.Create;
|
||||
bb.LoadFromFile(ExeDir + '\3DTextures\inner_wall_PE.bmp');
|
||||
if aFirstLoad then //24/07/2025--
|
||||
begin
|
||||
bb := TBitmap.Create;
|
||||
bb.LoadFromFile(ExeDir + '\3DTextures\inner_wall_PE.bmp');
|
||||
//TubeList := TList.create;
|
||||
//bb_jpg := TJPEGImage.Create;
|
||||
//bb_jpg.LoadFromFile(ExeDir + '\3DTextures\inner_wall_PE.jpg');
|
||||
|
||||
//GLS_MAX_RENDERING_CONTEXT_NUM := 16;
|
||||
//Tolik 06/04/2023 --
|
||||
CreatedMaterial := nil;
|
||||
if F3DModel.FFiles.IndexOf(ExeDir + '\3DTextures\inner_wall_PE.bmp') = -1 then
|
||||
begin
|
||||
CreatedMaterial := MatLib.AddTextureMaterial('wall_pe', ExeDir + '\3DTextures\inner_wall_PE.bmp');
|
||||
CreatedMaterial.Material.BackProperties.Diffuse.Alpha := 0.5;
|
||||
CreatedMaterial.Material.FrontProperties.Diffuse.Alpha := 0.5;
|
||||
CreatedMaterial.Material.BlendingMode := bmTransparency;
|
||||
CreatedMaterial.Material.MaterialOptions := [moNoLighting];
|
||||
CreatedMaterial.Material.Texture.TextureMode := tmDecal;
|
||||
end;
|
||||
|
||||
if F3DModel.FFiles.IndexOf(ExeDir + '\3DTextures\inner_wall_PE_selected.bmp') = -1 then
|
||||
begin
|
||||
CreatedMaterial := MatLib.AddTextureMaterial('wall_pe_selected', ExeDir + '\3DTextures\inner_wall_PE_selected.bmp');
|
||||
CreatedMaterial.Material.BackProperties.Diffuse.Alpha := 0.5;
|
||||
CreatedMaterial.Material.FrontProperties.Diffuse.Alpha := 0.5;
|
||||
//CreatedMaterial.Material.BlendingMode := bmTransparency;
|
||||
CreatedMaterial.Material.MaterialOptions := [moNoLighting];
|
||||
//CreatedMaterial.Material.Texture.TextureMode := tmDecal;
|
||||
end;
|
||||
|
||||
if F3DModel.FFiles.IndexOf(ExeDir + '\3DTextures\floor_PE.bmp') = -1 then
|
||||
begin
|
||||
CreatedMaterial := MatLib.AddTextureMaterial('floor_pe', ExeDir + '\3DTextures\floor_PE.bmp');
|
||||
CreatedMaterial.Material.MaterialOptions := [moNoLighting];
|
||||
CreatedMaterial.Material.Texture.TextureMode := tmDecal;
|
||||
end;
|
||||
if F3DModel.FFiles.IndexOf(ExeDir + '\3DTextures\ceiling_PE.bmp') = -1 then
|
||||
begin
|
||||
CreatedMaterial := MatLib.AddTextureMaterial('ceiling_pe', ExeDir + '\3DTextures\ceiling_PE.bmp');
|
||||
CreatedMaterial.Material.MaterialOptions := [moNoLighting];
|
||||
CreatedMaterial.Material.Texture.TextureMode := tmDecal;
|
||||
end;
|
||||
if F3DModel.FFiles.IndexOf(ExeDir + '\3DTextures\door.bmp') = -1 then
|
||||
begin
|
||||
CreatedMaterial := MatLib.AddTextureMaterial('door', ExeDir + '\3DTextures\door.bmp');
|
||||
CreatedMaterial.Material.MaterialOptions := [moNoLighting];
|
||||
CreatedMaterial.Material.Texture.TextureMode := tmDecal;
|
||||
end;
|
||||
end;
|
||||
|
||||
TubeList := TList.create;
|
||||
//bb_jpg := TJPEGImage.Create;
|
||||
//bb_jpg.LoadFromFile(ExeDir + '\3DTextures\inner_wall_PE.jpg');
|
||||
|
||||
//GLS_MAX_RENDERING_CONTEXT_NUM := 16;
|
||||
//Tolik 06/04/2023 --
|
||||
CreatedMaterial := nil;
|
||||
if F3DModel.FFiles.IndexOf(ExeDir + '\3DTextures\inner_wall_PE.bmp') = -1 then
|
||||
begin
|
||||
CreatedMaterial := MatLib.AddTextureMaterial('wall_pe', ExeDir + '\3DTextures\inner_wall_PE.bmp');
|
||||
CreatedMaterial.Material.BackProperties.Diffuse.Alpha := 0.5;
|
||||
CreatedMaterial.Material.FrontProperties.Diffuse.Alpha := 0.5;
|
||||
CreatedMaterial.Material.BlendingMode := bmTransparency;
|
||||
CreatedMaterial.Material.MaterialOptions := [moNoLighting];
|
||||
CreatedMaterial.Material.Texture.TextureMode := tmDecal;
|
||||
end;
|
||||
|
||||
if F3DModel.FFiles.IndexOf(ExeDir + '\3DTextures\inner_wall_PE_selected.bmp') = -1 then
|
||||
begin
|
||||
CreatedMaterial := MatLib.AddTextureMaterial('wall_pe_selected', ExeDir + '\3DTextures\inner_wall_PE_selected.bmp');
|
||||
CreatedMaterial.Material.BackProperties.Diffuse.Alpha := 0.5;
|
||||
CreatedMaterial.Material.FrontProperties.Diffuse.Alpha := 0.5;
|
||||
//CreatedMaterial.Material.BlendingMode := bmTransparency;
|
||||
CreatedMaterial.Material.MaterialOptions := [moNoLighting];
|
||||
//CreatedMaterial.Material.Texture.TextureMode := tmDecal;
|
||||
end;
|
||||
|
||||
if F3DModel.FFiles.IndexOf(ExeDir + '\3DTextures\floor_PE.bmp') = -1 then
|
||||
begin
|
||||
CreatedMaterial := MatLib.AddTextureMaterial('floor_pe', ExeDir + '\3DTextures\floor_PE.bmp');
|
||||
CreatedMaterial.Material.MaterialOptions := [moNoLighting];
|
||||
CreatedMaterial.Material.Texture.TextureMode := tmDecal;
|
||||
end;
|
||||
if F3DModel.FFiles.IndexOf(ExeDir + '\3DTextures\ceiling_PE.bmp') = -1 then
|
||||
begin
|
||||
CreatedMaterial := MatLib.AddTextureMaterial('ceiling_pe', ExeDir + '\3DTextures\ceiling_PE.bmp');
|
||||
CreatedMaterial.Material.MaterialOptions := [moNoLighting];
|
||||
CreatedMaterial.Material.Texture.TextureMode := tmDecal;
|
||||
end;
|
||||
if F3DModel.FFiles.IndexOf(ExeDir + '\3DTextures\door.bmp') = -1 then
|
||||
begin
|
||||
CreatedMaterial := MatLib.AddTextureMaterial('door', ExeDir + '\3DTextures\door.bmp');
|
||||
CreatedMaterial.Material.MaterialOptions := [moNoLighting];
|
||||
CreatedMaterial.Material.Texture.TextureMode := tmDecal;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
TimerOnSelectNodes.OnTimer := nil;
|
||||
FaceList := Faces;
|
||||
IsRoof := false;
|
||||
@ -5126,10 +5161,21 @@ try
|
||||
for k := 0 to pCnt - 1 do
|
||||
begin
|
||||
p := Face.Points[k];
|
||||
if Face.RecType <> ftNet3DSObject then
|
||||
Face.Points[k] := DoublePoint(p.x, p.y, p.z + FZOrder * UOMToMetre(1000 / FCAD.PCad.MapScale))
|
||||
//Tolik 24/7/2025 --
|
||||
if AFirstLoad then
|
||||
begin
|
||||
if Face.RecType <> ftNet3DSObject then
|
||||
Face.Points[k] := DoublePoint(p.x, p.y, p.z + FZOrder * UOMToMetre(1000 / FCAD.PCad.MapScale))
|
||||
else
|
||||
Face.Points[k] := DoublePoint(p.x, p.y + FZOrder * UOMToMetre(1000 / FCAD.PCad.MapScale) * Factor, p.z);
|
||||
end
|
||||
else
|
||||
Face.Points[k] := DoublePoint(p.x, p.y + FZOrder * UOMToMetre(1000 / FCAD.PCad.MapScale) * Factor, p.z);
|
||||
begin
|
||||
if Face.RecType <> ftNet3DSObject then
|
||||
Face.Points[k] := DoublePoint(p.x, p.y, p.z + aZOrder * UOMToMetre(1000 / FCAD.PCad.MapScale))
|
||||
else
|
||||
Face.Points[k] := DoublePoint(p.x, p.y + aZOrder * UOMToMetre(1000 / FCAD.PCad.MapScale) * Factor, p.z);
|
||||
end;
|
||||
end;
|
||||
|
||||
//glCompon.AddNode(x,y,z) - äîáàâëåíèå êîîðäèíàò êîìïîíåíòó,êîòîðûé íàõîäèòüñÿ â DummyCube,
|
||||
@ -9469,6 +9515,9 @@ var
|
||||
//
|
||||
|
||||
begin
|
||||
FCadList := TList.Create; // Tolik 23/07/2025 -- ñïèñîê ëèñòîâ ïðîåêòà
|
||||
SetLength(FFloorsHeightArray, 0); // ìàññèâ âûñîò ýòàæåé
|
||||
//
|
||||
//Tolik 27/05/2025 --
|
||||
// Ñîçäàåì HUD-Dummy, êîòîðûé âñåãäà áóäåò â îäíîì ìåñòå
|
||||
dummy := TGLDummyCube.Create(GLScene.Objects);
|
||||
@ -11020,7 +11069,9 @@ end;
|
||||
procedure Tfrm3D.FormDestroy(Sender: TObject);
|
||||
var i: integer;
|
||||
begin
|
||||
|
||||
FCadList.Free; // Tolik 23/07/2025 -- ñïèñîê ëèñòîâ ïðîåêòà
|
||||
SetLength(FFloorsHeightArray, 0); // ìàññèâ âûñîò ýòàæåé
|
||||
|
||||
ObjMatList.Free; // Tolik 02/10/2019 --
|
||||
if FSelection <> nil then
|
||||
//FreeAndNil(FSelection);
|
||||
@ -12383,6 +12434,8 @@ var
|
||||
dp1: T3dPoint;
|
||||
LineToMove: T3dLine; // Tolik 19/06/2025 --
|
||||
LastConnID: integer;//
|
||||
cadheight: double;
|
||||
SelList: TList; // Tolik 30/07/2025 --
|
||||
|
||||
function GetParentConnector(aNode: TTreeNode): T3DConnector;
|
||||
begin
|
||||
@ -12603,13 +12656,15 @@ var
|
||||
if aLine.FSCSObject <> nil then
|
||||
SCSLine := aLine.FSCSObject; // ñàìà òðàññà íà êàäå
|
||||
//Tolik 18/07/2025 -- Undo êàäà(åñëè íå áûëî)
|
||||
if G3dUndoList.IndexOf(TF_CAD(TPowerCad(SCSLine.Owner).Owner)) = -1 then
|
||||
{
|
||||
if G3dUndoList.IndexOf(TF_CAD(TPowerCad(SCSLine.Owner).Owner)) = -1 then
|
||||
begin
|
||||
UndoAct := TF_CAD(TPowerCad(SCSLine.Owner).Owner).SaveForUndo(uat_None, true, false, 0, false, true);
|
||||
G3dUndoList.Add(TF_CAD(TPowerCad(SCSLine.Owner).Owner));
|
||||
if UndoAct <> nil then
|
||||
G3dUndoActList.Add(UndoAct);
|
||||
end;
|
||||
}
|
||||
//
|
||||
FaceList := TList.Create;
|
||||
ObjList := TList.Create;
|
||||
@ -12840,7 +12895,9 @@ var
|
||||
begin
|
||||
for i := 0 to LineCatalog.ComponentReferences.Count - 1 do
|
||||
begin
|
||||
if LineCatalog.ComponentReferences[i].ComponentType.SysName = ctsntube then
|
||||
//if LineCatalog.ComponentReferences[i].ComponentType.SysName = ctsntube then
|
||||
if ((LineCatalog.ComponentReferences[i].ComponentType.SysName = ctsntube) or
|
||||
(LineCatalog.ComponentReferences[i].ComponentType.SysName = ctsnwiretray)) then
|
||||
begin
|
||||
TubeCompon := LineCatalog.ComponentReferences[i];
|
||||
break;
|
||||
@ -12870,7 +12927,7 @@ var
|
||||
NewTraceNode := F_ProjMan.FindComponOrDirInTreeByList(SCSList.Id, JoinedLine.ID, False); //
|
||||
if NewTraceNode <> nil then
|
||||
begin
|
||||
//Ñêîïèðîâàòü òðóáó
|
||||
//Ñêîïèðîâàòü òðóáó (ëîòîê)
|
||||
F_ProjMan.RollBackCut;
|
||||
F_ProjMan.GSDat.ObjectID := PObjectData(ComponNode.Data).ObjectID;
|
||||
F_ProjMan.GSDat.ItemType := PObjectData(ComponNode.Data).ItemType;
|
||||
@ -12900,7 +12957,7 @@ var
|
||||
NewTraceNode := F_ProjMan.FindComponOrDirInTreeByList(SCSList.Id, JoinedLine.ID, False); //
|
||||
if NewTraceNode <> nil then
|
||||
begin
|
||||
//Ñêîïèðîâàòü òðóáó
|
||||
//Ñêîïèðîâàòü òðóáó (ëîòîê)
|
||||
F_ProjMan.RollBackCut;
|
||||
F_ProjMan.GSDat.ObjectID := PObjectData(ComponNode.Data).ObjectID;
|
||||
F_ProjMan.GSDat.ItemType := PObjectData(ComponNode.Data).ItemType;
|
||||
@ -13080,7 +13137,8 @@ var
|
||||
end;
|
||||
end;
|
||||
//3D
|
||||
UpdateFaces(FaceList);
|
||||
cadheight := getZOrder(TF_CAD(TPowerCad(SCSLine.Owner).Owner));
|
||||
UpdateFaces(FaceList, 0, false, cadheight);
|
||||
//restore selection
|
||||
SelList := TList.Create;
|
||||
for i := 0 to SCSModelTree.Items.Count - 1 do
|
||||
@ -13123,6 +13181,51 @@ var
|
||||
GisChangeFrom3D := True; // 11/07/2025 -- âûñòàâèòü ôëàã, ÷òîá áûëè èçìåíåíèÿ â ïðîåêòå èç 3Ä ...
|
||||
end;
|
||||
//
|
||||
function GetSelList: TList;
|
||||
var i: integer;
|
||||
begin
|
||||
Result := TList.Create;
|
||||
for i := 0 to FSelection.Count - 1 do
|
||||
begin
|
||||
if TglBaseSceneObject(FSelection[i]).TagObject <> nil then
|
||||
begin
|
||||
currNode := TTreeNode(TglBaseSceneObject(FSelection[i]).TagObject);
|
||||
ParentNode := GetParentNode(currNode);
|
||||
//Åñëè âûáðàí ëèíåéíûé îáúåêò, ïîëó÷àåì òðàññó, è äâèãàåì åå êîííåêòîðû
|
||||
if TObject(ParentNode.Data).ClassName = 'T3DLine' then
|
||||
begin
|
||||
if T3DLine(ParentNode.Data).FGLObject <> nil then
|
||||
begin
|
||||
if Result.IndexOf(T3DConnector(T3DLine(ParentNode.Data).FJoinConnector1)) = -1 then
|
||||
Result.Add(T3DConnector(T3DLine(ParentNode.Data).FJoinConnector1));
|
||||
if Result.IndexOf(T3DConnector(T3DLine(ParentNode.Data).FJoinConnector2)) = -1 then
|
||||
Result.Add(T3DConnector(T3DLine(ParentNode.Data).FJoinConnector2));
|
||||
end
|
||||
end
|
||||
else
|
||||
begin
|
||||
if TObject(ParentNode.Data).ClassName = 'T3DConnector' then
|
||||
begin
|
||||
if T3DConnector(ParentNode.Data).FGLObject <> nil then
|
||||
begin
|
||||
if Result.IndexOf(T3DConnector(ParentNode.Data)) = -1 then
|
||||
Result.Add(T3DConnector(ParentNode.Data));
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
Procedure MoveSelected(aList: TList);
|
||||
var i: integer;
|
||||
begin
|
||||
for i := 0 to aList.Count - 1 do
|
||||
begin
|
||||
Move3DConnector(T3DConnector(aList[i]), dp);
|
||||
FMovedObjectsList.Remove(T3DConnector(aList[i]));
|
||||
end;
|
||||
end;
|
||||
begin
|
||||
//if not GLSceneViewer.Focused then
|
||||
//begin
|
||||
@ -13548,87 +13651,97 @@ begin
|
||||
end;
|
||||
end;
|
||||
//
|
||||
if TglBaseSceneObject(FSelection[0]).TagObject <> nil then
|
||||
if FSelection.Count > 0 then // òóò ïîïðîáóåì ñäåëàòü ìíîæåñòâåííûé ñäâèã
|
||||
begin
|
||||
currNode := TTreeNode(TglBaseSceneObject(FSelection[0]).TagObject);
|
||||
ParentNode := GetParentNode(currNode);
|
||||
//Åñëè âûáðàí ëèíåéíûé îáúåêò, ïîëó÷àåì òðàññó, è äâèãàåì åå êîííåêòîðû
|
||||
if TObject(ParentNode.Data).ClassName = 'T3DLine' then
|
||||
SelList := GetSelList;
|
||||
MoveSelected(SelList);
|
||||
SelList.Free;
|
||||
exit;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if TglBaseSceneObject(FSelection[0]).TagObject <> nil then
|
||||
begin
|
||||
if T3DLine(ParentNode.Data).FGLObject <> nil then
|
||||
currNode := TTreeNode(TglBaseSceneObject(FSelection[0]).TagObject);
|
||||
ParentNode := GetParentNode(currNode);
|
||||
//Åñëè âûáðàí ëèíåéíûé îáúåêò, ïîëó÷àåì òðàññó, è äâèãàåì åå êîííåêòîðû
|
||||
if TObject(ParentNode.Data).ClassName = 'T3DLine' then
|
||||
begin
|
||||
Move3DConnector(T3DConnector(T3DLine(ParentNode.Data).FJoinConnector1), dp);
|
||||
FMovedObjectsList.Remove(T3DConnector(T3DLine(ParentNode.Data).FJoinConnector1));
|
||||
Move3DConnector(T3DConnector(T3DLine(ParentNode.Data).FJoinConnector2), dp);
|
||||
FMovedObjectsList.Remove(T3DConnector(T3DLine(ParentNode.Data).FJoinConnector2));
|
||||
if T3DLine(ParentNode.Data).FGLObject <> nil then
|
||||
begin
|
||||
Move3DConnector(T3DConnector(T3DLine(ParentNode.Data).FJoinConnector1), dp);
|
||||
FMovedObjectsList.Remove(T3DConnector(T3DLine(ParentNode.Data).FJoinConnector1));
|
||||
Move3DConnector(T3DConnector(T3DLine(ParentNode.Data).FJoinConnector2), dp);
|
||||
FMovedObjectsList.Remove(T3DConnector(T3DLine(ParentNode.Data).FJoinConnector2));
|
||||
{
|
||||
if TObject(T3DLine(ParentNode.Data).FGLObject).ClassName = 'TGLLines' then
|
||||
begin
|
||||
MovedStartPos1.x := TGLLines(T3DLine(ParentNode.Data).FGLObject).Nodes[0].X + dp.x;
|
||||
MovedStartPos1.y := TGLLines(T3DLine(ParentNode.Data).FGLObject).Nodes[0].Y + dp.y;
|
||||
MovedStartPos1.z := TGLLines(T3DLine(ParentNode.Data).FGLObject).Nodes[0].Z + dp.z;
|
||||
|
||||
MovedStartPos2.x := TGLLines(T3DLine(ParentNode.Data).FGLObject).Nodes[1].X + dp.x;
|
||||
MovedStartPos2.y := TGLLines(T3DLine(ParentNode.Data).FGLObject).Nodes[1].Y + dp.y;
|
||||
MovedStartPos2.z := TGLLines(T3DLine(ParentNode.Data).FGLObject).Nodes[0].Z + dp.z;
|
||||
end;
|
||||
Move3DLineEvent(TglBaseSceneObject(T3DLine(ParentNode.Data).FGLObject));
|
||||
}
|
||||
|
||||
end;
|
||||
{
|
||||
if TObject(T3DLine(ParentNode.Data).FGLObject).ClassName = 'TGLLines' then
|
||||
if T3DLine(ParentNode.Data).FSCSCompon <> nil then
|
||||
begin
|
||||
MovedStartPos1.x := TGLLines(T3DLine(ParentNode.Data).FGLObject).Nodes[0].X + dp.x;
|
||||
MovedStartPos1.y := TGLLines(T3DLine(ParentNode.Data).FGLObject).Nodes[0].Y + dp.y;
|
||||
MovedStartPos1.z := TGLLines(T3DLine(ParentNode.Data).FGLObject).Nodes[0].Z + dp.z;
|
||||
SCSLine := TOrthoLine(T3DLine(ParentNode.Data).FSCSCompon);
|
||||
SCSConnector := TConnectorObject(SCSLine.JoinConnector1);
|
||||
|
||||
MovedStartPos2.x := TGLLines(T3DLine(ParentNode.Data).FGLObject).Nodes[1].X + dp.x;
|
||||
MovedStartPos2.y := TGLLines(T3DLine(ParentNode.Data).FGLObject).Nodes[1].Y + dp.y;
|
||||
MovedStartPos2.z := TGLLines(T3DLine(ParentNode.Data).FGLObject).Nodes[0].Z + dp.z;
|
||||
ConnToMove1 := nil;
|
||||
ConnToMove2 := nil;
|
||||
|
||||
for j := 0 to ScsModelTree.Items.Count - 1 do
|
||||
begin
|
||||
if TObject(TTreeNode(SCSModelTree.Items[j]).Data).ClassName = 'T3DConnector' then
|
||||
begin
|
||||
if T3DConnector(TTreeNode(SCSModelTree.Items[j]).Data).FSCSCompon <> nil then
|
||||
begin
|
||||
if T3DConnector(TTreeNode(SCSModelTree.Items[j]).Data).FSCSCompon.ID = SCSConnector.ID then
|
||||
begin
|
||||
ConnToMove1 := T3DConnector(TTreeNode(SCSModelTree.Items[j]).Data);
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
SCSConnector := TConnectorObject(SCSLine.JoinConnector2);
|
||||
|
||||
for j := 0 to ScsModelTree.Items.Count - 1 do
|
||||
begin
|
||||
if TObject(TTreeNode(SCSModelTree.Items[j]).Data).ClassName = 'T3DConnector' then
|
||||
begin
|
||||
if T3DConnector(TTreeNode(SCSModelTree.Items[j]).Data).FSCSCompon <> nil then
|
||||
begin
|
||||
if T3DConnector(TTreeNode(SCSModelTree.Items[j]).Data).FSCSCompon.ID = SCSConnector.ID then
|
||||
begin
|
||||
ConnToMove2 := T3DConnector(TTreeNode(SCSModelTree.Items[j]).Data);
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
if ConnToMove1 <> nil then
|
||||
Move3DConnector(ConnToMove1, dp);
|
||||
if ConnToMove2 <> nil then
|
||||
Move3DConnector(ConnToMove2, dp);
|
||||
end;
|
||||
Move3DLineEvent(TglBaseSceneObject(T3DLine(ParentNode.Data).FGLObject));
|
||||
}
|
||||
|
||||
end;
|
||||
{
|
||||
if T3DLine(ParentNode.Data).FSCSCompon <> nil then
|
||||
end
|
||||
else
|
||||
if TObject(ParentNode.Data).ClassName = 'T3DConnector' then
|
||||
begin
|
||||
SCSLine := TOrthoLine(T3DLine(ParentNode.Data).FSCSCompon);
|
||||
SCSConnector := TConnectorObject(SCSLine.JoinConnector1);
|
||||
|
||||
ConnToMove1 := nil;
|
||||
ConnToMove2 := nil;
|
||||
|
||||
for j := 0 to ScsModelTree.Items.Count - 1 do
|
||||
begin
|
||||
if TObject(TTreeNode(SCSModelTree.Items[j]).Data).ClassName = 'T3DConnector' then
|
||||
begin
|
||||
if T3DConnector(TTreeNode(SCSModelTree.Items[j]).Data).FSCSCompon <> nil then
|
||||
begin
|
||||
if T3DConnector(TTreeNode(SCSModelTree.Items[j]).Data).FSCSCompon.ID = SCSConnector.ID then
|
||||
begin
|
||||
ConnToMove1 := T3DConnector(TTreeNode(SCSModelTree.Items[j]).Data);
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
SCSConnector := TConnectorObject(SCSLine.JoinConnector2);
|
||||
|
||||
for j := 0 to ScsModelTree.Items.Count - 1 do
|
||||
begin
|
||||
if TObject(TTreeNode(SCSModelTree.Items[j]).Data).ClassName = 'T3DConnector' then
|
||||
begin
|
||||
if T3DConnector(TTreeNode(SCSModelTree.Items[j]).Data).FSCSCompon <> nil then
|
||||
begin
|
||||
if T3DConnector(TTreeNode(SCSModelTree.Items[j]).Data).FSCSCompon.ID = SCSConnector.ID then
|
||||
begin
|
||||
ConnToMove2 := T3DConnector(TTreeNode(SCSModelTree.Items[j]).Data);
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
if ConnToMove1 <> nil then
|
||||
Move3DConnector(ConnToMove1, dp);
|
||||
if ConnToMove2 <> nil then
|
||||
Move3DConnector(ConnToMove2, dp);
|
||||
Move3DConnector(T3DConnector(ParentNode.Data), dp);
|
||||
FMovedObjectsList.Remove(T3DConnector(ParentNode.Data));
|
||||
end;
|
||||
}
|
||||
end
|
||||
else
|
||||
if TObject(ParentNode.Data).ClassName = 'T3DConnector' then
|
||||
begin
|
||||
Move3DConnector(T3DConnector(ParentNode.Data), dp);
|
||||
FMovedObjectsList.Remove(T3DConnector(ParentNode.Data));
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@ -23076,6 +23189,338 @@ var
|
||||
NextSideConnsList.Free;
|
||||
SCSLineList.Free;
|
||||
end;
|
||||
|
||||
Procedure CheckRecreateWireTrays;
|
||||
var SavedGCadForm: TF_Cad;
|
||||
SCSLine, JoinedLine: TOrthoLine;
|
||||
i, j: integer;
|
||||
FaceList, ObjList, Obj3dList: TList;//ñîáðàòü è óäàëèòü âñå îáúåêòû è ñâÿçàííûå ñíèìè óçëû äåðåâüåâ à òàêæå ôåéñû
|
||||
// ò.ê. èõ íåîáõîäèìî áóäåò ïåðåñîçäàòü
|
||||
TubeCompon: TSCSComponent;
|
||||
SCSList: TSCSList;
|
||||
LineCatalog: TSCSCatalog;
|
||||
|
||||
ComponNode, NewTraceNode, CadListNode, xScsNode: TTreeNode;
|
||||
LineToMove, xLine: T3dLine;
|
||||
SCSObjList: TList; // ñïèñîê îáúåêòîâ, êîòîðûå íóæíî áóäåò ïåðåïàðñèòü
|
||||
SelObjClassNAme: string; // save selection
|
||||
IstubeSel: Boolean; // if is tube select on trace
|
||||
SelID: integer;
|
||||
SelList: TList;
|
||||
selCatalog: TSCSCatalog;
|
||||
CameraPos: T3DPoint;
|
||||
UndoAct: TListUndoAction;
|
||||
SCSConn: TConnectorObject;
|
||||
LineList, ComponList: TList;
|
||||
LastConnID: integer;
|
||||
cadheight: Double;
|
||||
|
||||
begin
|
||||
//XConn.FJoinedLinesList
|
||||
SCSConn := XConn.FSCSObject;
|
||||
SCSList := F_ProjMan.GSCSBase.CurrProject.GetListByID(TF_CAD(TPowerCad(SCSConn.Owner).Owner).FCADListID);
|
||||
//ñîáðàòü äîêó÷è âñå, ÷òî øëåïíåì
|
||||
if SCSList <> nil then
|
||||
begin
|
||||
LineList := TList.Create;
|
||||
ComponList := TList.Create;
|
||||
for i := 0 to SCSConn.JoinedOrtholinesList.Count - 1 do
|
||||
begin
|
||||
SCSLine := TOrthoLine(SCSConn.JoinedOrtholinesList[i]);
|
||||
LineCatalog := SCSList.GetCatalogFromReferencesBySCSID(SCSLine.ID);
|
||||
for j := 0 to LineCatalog.ComponentReferences.Count - 1 do
|
||||
begin
|
||||
if LineCatalog.ComponentReferences[j].ComponentType.SysName = ctsnWireTray then
|
||||
begin
|
||||
if LineList.IndexOf(SCSLine) = -1 then
|
||||
LineList.Add(SCSLine);
|
||||
if ComponList.IndexOf(LineCatalog.ComponentReferences[j]) = -1 then
|
||||
ComponList.Add(LineCatalog.ComponentReferences[j]);
|
||||
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
//26/06/2025 -- save selection
|
||||
IstubeSel := False;
|
||||
SelId := -1;
|
||||
CameraPos.x := GLSceneViewer.Camera.Position.X;
|
||||
CameraPos.y := GLSceneViewer.Camera.Position.Y;
|
||||
CameraPos.z := GLSceneViewer.Camera.Position.Z;
|
||||
|
||||
|
||||
if FSelection.Count > 0 then
|
||||
SelObjClassNAme := TObject(TTreeNode(TGLBaseSceneObject(FSelection[0]).TagObject).Data).ClassName;
|
||||
|
||||
if TGLBaseSceneObject(FSelection[0]).TagObject <> nil then
|
||||
begin
|
||||
if SelObjClassNAme = 'T3DLineComponent' then
|
||||
begin
|
||||
if T3DLineComponent(TTreeNode(TGLBaseSceneObject(FSelection[0]).TagObject).Data).FSCSCompon <> nil then
|
||||
SelID := T3DLineComponent(TTreeNode(TGLBaseSceneObject(FSelection[0]).TagObject).Data).FSCSCompon.ID;
|
||||
end
|
||||
else
|
||||
if SelObjClassNAme = 'T3DLine' then
|
||||
begin
|
||||
if T3DLineComponent(TTreeNode(TGLBaseSceneObject(FSelection[0]).TagObject).Data).FSCSObject <> nil then
|
||||
SelID := T3DLineComponent(TTreeNode(TGLBaseSceneObject(FSelection[0]).TagObject).Data).FSCSObject.ID;
|
||||
end;
|
||||
end;
|
||||
|
||||
DeselectGLObjectsT; // drop selection
|
||||
|
||||
FaceList := TList.Create;
|
||||
ObjList := TList.Create;
|
||||
Obj3dList := TList.Create;
|
||||
//ñîáèðàåì îáúåêòû(êîòîðûå ïîòîì øëåïíåì)
|
||||
// ñ òðàññû
|
||||
|
||||
for i := 0 to xConn.FJoinedLinesList.Count - 1 do
|
||||
begin
|
||||
ObjList.Add(T3dLine(xConn.FJoinedLinesList[i]).FGLObject);
|
||||
FaceList.Add(T3dLine(xConn.FJoinedLinesList[i]).FFace);
|
||||
Obj3dList.Add(T3dLine(xConn.FJoinedLinesList[i]));
|
||||
end;
|
||||
|
||||
//ñáðîñ èç îñí. äåðåâà (âñå âìåñòå â îäíîì öèêëå íèççÿ, ò.ê. ïðè óäàëåíèè òðàññû óäàëèòñÿ íå îäèí óçåë à íåñê.,
|
||||
//ó÷èòûâàÿ äî÷åðíèå è íàåáíåòñÿ ñ÷åò÷èê öèêëà)
|
||||
SCSModelTree.Items.BeginUpdate;
|
||||
for i := SCSModelTree.Items.Count - 1 downto 0 do
|
||||
begin
|
||||
if TObject(SCSModelTree.Items[i].data).ClassName = 'T3DLine' then
|
||||
begin
|
||||
if T3dLine(SCSModelTree.Items[i].data).FSCSObject <> nil then
|
||||
begin
|
||||
for j := 0 to xConn.FJoinedLinesList.Count - 1 do
|
||||
begin
|
||||
if T3DLine(SCSModelTree.Items[i].data) = T3DLine(xConn.FJoinedLinesList[j]) then
|
||||
begin
|
||||
ComponNode := SCSModelTree.Items[i].getFirstChild;
|
||||
while ComponNode <> nil do
|
||||
begin
|
||||
if TObject(ComponNode.data).ClassName = 'T3DLineComponent' then
|
||||
begin
|
||||
if T3DLineComponent(ComponNode.data).FGLObject <> nil then
|
||||
begin
|
||||
if ObjList.IndexOf(T3DLineComponent(ComponNode.data).FGLObject) = -1 then
|
||||
ObjList.Add(T3DLineComponent(ComponNode.data).FGLObject);
|
||||
end;
|
||||
|
||||
if T3DLineComponent(ComponNode.data).FFace <> nil then
|
||||
begin
|
||||
if FaceList.IndexOf(T3DLineComponent(ComponNode.data).FFace) = -1 then
|
||||
FaceList.Add(T3DLineComponent(ComponNode.data).FFace);
|
||||
end;
|
||||
|
||||
if Obj3DList.IndexOf(T3DLineComponent(ComponNode.data)) = -1 then
|
||||
Obj3DList.Add(T3DLineComponent(ComponNode.data));
|
||||
end;
|
||||
ComponNode := SCSModelTree.Items[i].GetNextChild(ComponNode);
|
||||
end;
|
||||
|
||||
SCSModelTree.Items.Delete(SCSModelTree.Items[i]);
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
SCSModelTree.Items.EndUpdate;
|
||||
|
||||
//ñ îáîèõ êîííåêòîðîâ îäíèì öèêëîì
|
||||
DuplicateNodeTree.Items.BeginUpdate;
|
||||
for i := DuplicateNodeTree.Items.Count - 1 downto 0 do
|
||||
begin
|
||||
if TObject(DuplicateNodeTree.Items[i].Data).ClassName = 'T3DLineComponent' then
|
||||
begin
|
||||
for j := 0 to ComponList.Count - 1 do
|
||||
begin
|
||||
if T3DLineComponent(DuplicateNodeTree.Items[i].Data).FSCSComponID = TSCSComponent(ComponList[j]).id then
|
||||
begin
|
||||
if ObjList.IndexOf(T3DLineComponent(DuplicateNodeTree.Items[i].Data).FGLObject) = -1 then
|
||||
ObjList.Add(T3DLineComponent(DuplicateNodeTree.Items[i].Data).FGLObject);
|
||||
|
||||
if Obj3dList.IndexOf(T3DLineComponent(DuplicateNodeTree.Items[i].Data)) = -1 then
|
||||
Obj3dList.Add(T3DLineComponent(DuplicateNodeTree.Items[i].Data));
|
||||
|
||||
if T3DLineComponent(DuplicateNodeTree.Items[i].Data).FFace <> nil then
|
||||
begin
|
||||
if FaceList.IndexOf(T3DConnector(DuplicateNodeTree.Items[i].Data).FFace) = -1 then
|
||||
FaceList.Add(T3DConnector(DuplicateNodeTree.Items[i].Data).FFace);
|
||||
end;
|
||||
|
||||
DuplicateNodeTree.Items.Delete(DuplicateNodeTree.Items[i]);
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
DuplicateNodeTree.Items.EndUpdate;
|
||||
|
||||
//øëåïàåì îáúåêòû
|
||||
for i := 0 to FaceList.Count - 1 do
|
||||
begin
|
||||
TF_CAD(TPowerCad(SCSConn.Owner).Owner).PCad.Faces.Remove(TFaceRecord(FaceList[i]));
|
||||
TfaceRecord(FaceList[i]).Free;
|
||||
end;
|
||||
FaceList.clear;
|
||||
for i := 0 to ObjList.Count - 1 do
|
||||
begin
|
||||
DummyCube.Remove(TGLBaseSceneObject(ObjList[i]), false);
|
||||
TGLBaseSceneObject(ObjList[i]).Free;
|
||||
end;
|
||||
ObjList.Clear;
|
||||
for i := 0 to Obj3dList.Count - 1 do
|
||||
begin
|
||||
if frm3d.F3DModel.FScsObjects.IndexOf(Obj3dList[i]) <> -1 then
|
||||
frm3d.F3DModel.FScsObjects.Remove(Obj3dList[i]);
|
||||
|
||||
TObject(Obj3dList[i]).Free;
|
||||
end;
|
||||
|
||||
//ñîáðàòü ÑÊÑ-îáúåêòû, êîòîðûå çàäåë ñäâèã
|
||||
SCSObjList := TList.Create;
|
||||
SCSObjList.Add(SCSConn);
|
||||
for i := 0 to LineList.Count - 1 do
|
||||
SCSObjList.Add(LineList[i]);
|
||||
|
||||
//ïåðåïàðñèòü
|
||||
j := frm3d.F3DModel.FScsObjects.Count;
|
||||
Frm3D.F3DModel.CollectScsModel(FaceList, SCSObjList);
|
||||
|
||||
//Çàêèíóòü äåðåâî Tolik 22/06/2025 --
|
||||
CadListNode := nil;
|
||||
for i := 0 to SCSModelTree.Items.Count - 1 do
|
||||
begin
|
||||
if TObject(SCSModelTree.Items[i].Data).ClassNAme = 'TF_CAD' then
|
||||
begin
|
||||
if TF_Cad(SCSModelTree.Items[i].Data).FCADListID = TF_CAD(TPowercad(SCSConn.Owner).Owner).FCADListID then
|
||||
begin
|
||||
CadListNode := SCSModelTree.Items[i];
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
if CadListNode <> nil then
|
||||
begin
|
||||
LastConnID := -1;
|
||||
for i := frm3d.F3DModel.FScsObjects.Count - 1 downto j do
|
||||
begin
|
||||
if TObject(frm3d.F3DModel.FScsObjects[i]) is T3DConnector then
|
||||
begin
|
||||
xConn := T3DConnector(frm3d.F3DModel.FScsObjects[i]);
|
||||
if (xConn.FListID <> GCadForm.FCADListID) then
|
||||
Continue;
|
||||
if (xConn.FConnType = ct_Empty) then
|
||||
begin
|
||||
// Tolik 24/09/2018 - -
|
||||
//xConn.FFace.F3DObject := xConn;
|
||||
//Continue;
|
||||
if not xConn.FisPipeElement then
|
||||
begin
|
||||
xConn.FFace.F3DObject := xConn;
|
||||
Continue;
|
||||
end
|
||||
else
|
||||
begin
|
||||
//Tolik 07/05/2025 --
|
||||
if ((xConn.FSCSComponID <> -1) and (xConn.FSCSComponID = LastConnID)) then
|
||||
begin
|
||||
xScsNode := DuplicateNodeTree.Items.AddChild(nil, xConn.FName);;
|
||||
xScsNode.Data := xConn;
|
||||
xScsNode.ImageIndex := 3;
|
||||
xScsNode.SelectedIndex := xScsNode.ImageIndex;
|
||||
xConn.FFace.FTreeNode := xScsNode;
|
||||
end
|
||||
else
|
||||
begin
|
||||
LastConnID := xConn.FSCSComponID;
|
||||
xScsNode := ScsModelTree.Items.AddChild(CadListNode, xConn.FName);
|
||||
xScsNode.Data := xConn;
|
||||
xScsNode.ImageIndex := 3;
|
||||
xScsNode.SelectedIndex := xScsNode.ImageIndex;
|
||||
xConn.FFace.FTreeNode := xScsNode;
|
||||
end;
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
xScsNode := ScsModelTree.Items.AddChild(CadListNode, xConn.FName);
|
||||
xScsNode.Data := xConn;
|
||||
xScsNode.ImageIndex := 3;
|
||||
xScsNode.SelectedIndex := xScsNode.ImageIndex;
|
||||
xConn.FFace.FTreeNode := xScsNode;
|
||||
//Tolik 15/10/2018 --
|
||||
// if xConn.F3dModelFileName <> '' then
|
||||
xConn.FFace.F3DObject := xConn;
|
||||
end;
|
||||
end;
|
||||
if TObject(frm3d.F3DModel.FScsObjects[i]) is T3DLine then
|
||||
begin
|
||||
xLine := T3DLine(frm3d.F3DModel.FScsObjects[i]);
|
||||
if (xLine.FListID <> FCAD.FCADListID) then
|
||||
Continue;
|
||||
xScsNode:= ScsModelTree.Items.AddChild(CadListNode, xLine.FName);
|
||||
xScsNode.Data := xLine;
|
||||
xScsNode.ImageIndex := 2;
|
||||
xScsNode.SelectedIndex := xScsNode.ImageIndex;
|
||||
xLine.FFace.FTreeNode := xScsNode;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
//3D
|
||||
cadheight := getZOrder(TF_CAD(TPowerCad(SCSLine.Owner).Owner));
|
||||
UpdateFaces(FaceList, 0, false, cadheight);
|
||||
//restore selection
|
||||
SelList := TList.Create;
|
||||
for i := 0 to SCSModelTree.Items.Count - 1 do
|
||||
begin
|
||||
if TObject(TTreeNode(SCSModelTree.Items[i]).data).classname = SelObjClassNAme then
|
||||
begin
|
||||
if SelObjClassNAme = 'T3DLineComponent' then
|
||||
begin
|
||||
if T3DLineComponent(TTreeNode(SCSModelTree.Items[i]).Data).FSCSCompon.ID = SelID then
|
||||
begin
|
||||
SelList.Add(T3DLineComponent(TTreeNode(SCSModelTree.Items[i]).Data).FGLObject);
|
||||
break;
|
||||
end;
|
||||
end
|
||||
else
|
||||
if SelObjClassNAme = 'T3DLine' then
|
||||
begin
|
||||
if T3DLineComponent(TTreeNode(SCSModelTree.Items[i]).Data).FSCSObject.ID = SelID then
|
||||
begin
|
||||
SelList.Add(T3DLine(TTreeNode(SCSModelTree.Items[i]).Data).FGLObject);
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
if SelList.Count > 0 then
|
||||
SelectGLObjects(SelList);
|
||||
|
||||
FaceList.Free;
|
||||
ObjList.Free;
|
||||
Obj3dList.Free;
|
||||
SelList.Free;
|
||||
SCSObjList.Free;
|
||||
|
||||
LineList.Free;
|
||||
ComponList.Free;
|
||||
//Tolik 01/07/2025 -- êàìåðó íà ìåñòî
|
||||
GLSceneViewer.Camera.Position.X := CameraPos.x;
|
||||
GLSceneViewer.Camera.Position.y := CameraPos.y;
|
||||
GLSceneViewer.Camera.Position.z := CameraPos.z;
|
||||
|
||||
GCadForm := SavedGCadForm;
|
||||
GisChangeFrom3D := True; // 11/07/2025 -- âûñòàâèòü ôëàã, ÷òîá áûëè èçìåíåíèÿ â ïðîåêòå èç 3Ä ...
|
||||
end;
|
||||
(*
|
||||
//
|
||||
//Tolik 21/05/2025--
|
||||
Procedure CheckRecreateWireTrays; //åñëè íà òðàññàõ áóäóò ïðîâîëî÷íûå ëîòêè, òî èõ âñå íóæíî ïåðåñîçäàòü äëÿ ïåðåñ÷åòà
|
||||
@ -23666,6 +24111,7 @@ var
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
*)
|
||||
//Tolik 05/06/2025-- ïðè ïîïûòêå ñòâèãà êîííåêòîðà íå äàòü íàåõàòü êîííåêòîðó íà âòîðîé êîííåêòîëð òðàññû
|
||||
// è ñúåõàòü âûøå èëè íèæå òåêóùåãî ýòàæà
|
||||
|
||||
@ -23809,8 +24255,12 @@ begin
|
||||
if not CheckCanMoveConnector(xConn, dp) then
|
||||
exit;
|
||||
//
|
||||
if not CheckCanMoveConn(aObj) then
|
||||
exit;
|
||||
//16/08/2025 -- òóò ïðîâåðèòü, èíà÷å ïîëîìàåòñÿ ñäâèã ïóñòîãî êîííåêòîðà (ïðîñòî êîíöåâèêà òðàññû -- íå ñðàáîòàåò)
|
||||
if xConn.FisPipeElement then
|
||||
begin
|
||||
if not CheckCanMoveConn(aObj) then
|
||||
exit;
|
||||
end;
|
||||
// Tolik 26/04/2018 --
|
||||
{
|
||||
if dp.y <> 0 then
|
||||
@ -24381,7 +24831,7 @@ begin
|
||||
end;
|
||||
AlignPipeObjects;
|
||||
AlignRelatedConns;
|
||||
CheckRecreateWireTrays;//ëîòîê ïðîâîëî÷íûé
|
||||
//CheckRecreateWireTrays;//ëîòîê ïðîâîëî÷íûé
|
||||
MovedLineList.free;
|
||||
OtherSideConnList.free;
|
||||
RelatedPipeConns.free;
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
object FSCS_Main: TFSCS_Main
|
||||
Left = -8
|
||||
Top = -8
|
||||
Width = 1380
|
||||
Height = 744
|
||||
Left = 1
|
||||
Top = 1
|
||||
Width = 1358
|
||||
Height = 726
|
||||
HorzScrollBar.Color = clBtnFace
|
||||
HorzScrollBar.ParentColor = False
|
||||
VertScrollBar.Color = clBtnFace
|
||||
@ -33,7 +33,7 @@ object FSCS_Main: TFSCS_Main
|
||||
object sDiv1: TSplitter
|
||||
Left = 5
|
||||
Top = 188
|
||||
Height = 474
|
||||
Height = 456
|
||||
AutoSnap = False
|
||||
Color = clBtnFace
|
||||
MinSize = 1
|
||||
@ -46,9 +46,9 @@ object FSCS_Main: TFSCS_Main
|
||||
ExplicitHeight = 641
|
||||
end
|
||||
object sDiv2: TSplitter
|
||||
Left = 1356
|
||||
Left = 1334
|
||||
Top = 188
|
||||
Height = 474
|
||||
Height = 456
|
||||
Align = alRight
|
||||
AutoSnap = False
|
||||
Color = clBtnFace
|
||||
@ -66,7 +66,7 @@ object FSCS_Main: TFSCS_Main
|
||||
Left = 0
|
||||
Top = 188
|
||||
Width = 5
|
||||
Height = 474
|
||||
Height = 456
|
||||
Align = alLeft
|
||||
Alignment = taLeftJustify
|
||||
BevelOuter = bvNone
|
||||
@ -80,12 +80,13 @@ object FSCS_Main: TFSCS_Main
|
||||
OnDockOver = PDock1DockOver
|
||||
OnResize = PDock1Resize
|
||||
OnUnDock = PDock1UnDock
|
||||
ExplicitHeight = 474
|
||||
end
|
||||
object pDock2: TPanel
|
||||
Left = 1359
|
||||
Left = 1337
|
||||
Top = 188
|
||||
Width = 5
|
||||
Height = 474
|
||||
Height = 456
|
||||
Align = alRight
|
||||
Alignment = taRightJustify
|
||||
BevelOuter = bvNone
|
||||
@ -98,20 +99,24 @@ object FSCS_Main: TFSCS_Main
|
||||
OnDockDrop = PDock1DockDrop
|
||||
OnDockOver = PDock1DockOver
|
||||
OnUnDock = PDock1UnDock
|
||||
ExplicitLeft = 1359
|
||||
ExplicitHeight = 474
|
||||
end
|
||||
object pCADList: TPanel
|
||||
Left = 0
|
||||
Top = 662
|
||||
Width = 1364
|
||||
Top = 644
|
||||
Width = 1342
|
||||
Height = 23
|
||||
Align = alBottom
|
||||
BevelOuter = bvNone
|
||||
BorderStyle = bsSingle
|
||||
TabOrder = 2
|
||||
ExplicitTop = 662
|
||||
ExplicitWidth = 1364
|
||||
object pageCADList: TPageControl
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 1362
|
||||
Width = 1340
|
||||
Height = 21
|
||||
Align = alClient
|
||||
Font.Charset = RUSSIAN_CHARSET
|
||||
@ -123,13 +128,14 @@ object FSCS_Main: TFSCS_Main
|
||||
Style = tsFlatButtons
|
||||
TabOrder = 0
|
||||
OnChange = pageCADListChange
|
||||
ExplicitWidth = 1362
|
||||
end
|
||||
end
|
||||
object cbMainPanel: TControlBar
|
||||
AlignWithMargins = True
|
||||
Left = 3
|
||||
Top = 0
|
||||
Width = 1358
|
||||
Width = 1336
|
||||
Height = 136
|
||||
HelpContext = 76000
|
||||
Margins.Top = 0
|
||||
@ -153,6 +159,7 @@ object FSCS_Main: TFSCS_Main
|
||||
OnBandPaint = cbMainPanelBandPaint
|
||||
OnDockOver = cbMainPanelDockOver
|
||||
OnMouseDown = cbMainPanelMouseDown
|
||||
ExplicitWidth = 1358
|
||||
object tbFile: TToolBar
|
||||
Left = 11
|
||||
Top = 2
|
||||
@ -1214,7 +1221,7 @@ object FSCS_Main: TFSCS_Main
|
||||
object pnHintBar: TRzSizePanel
|
||||
Left = 0
|
||||
Top = 136
|
||||
Width = 1364
|
||||
Width = 1342
|
||||
Height = 52
|
||||
Align = alTop
|
||||
BorderHighlight = clBtnFace
|
||||
@ -1224,6 +1231,7 @@ object FSCS_Main: TFSCS_Main
|
||||
TabOrder = 4
|
||||
VisualStyle = vsClassic
|
||||
OnHotSpotClick = pnHintBarHotSpotClick
|
||||
ExplicitWidth = 1364
|
||||
end
|
||||
object ActionManager: TActionManager
|
||||
ActionBars.SessionCount = 1080
|
||||
@ -5860,7 +5868,7 @@ object FSCS_Main: TFSCS_Main
|
||||
Left = 496
|
||||
Top = 232
|
||||
Bitmap = {
|
||||
494C0101D2008C01A80310001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C0101D2008C01B80310001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
0000000000003600000028000000400000005003000001002000000000000050
|
||||
0300000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
@ -12870,7 +12878,7 @@ object FSCS_Main: TFSCS_Main
|
||||
Left = 248
|
||||
Top = 280
|
||||
Bitmap = {
|
||||
494C010123008C01C00320001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C010123008C01D00320001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
0000000000003600000028000000800000009000000001002000000000000020
|
||||
0100000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
@ -15442,7 +15450,7 @@ object FSCS_Main: TFSCS_Main
|
||||
Left = 240
|
||||
Top = 408
|
||||
Bitmap = {
|
||||
494C010112008C01B4030E000E00FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C010112008C01C4030E000E00FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
000000000000360000002800000038000000460000000100200000000000403D
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
@ -19945,7 +19953,7 @@ object FSCS_Main: TFSCS_Main
|
||||
Left = 240
|
||||
Top = 344
|
||||
Bitmap = {
|
||||
494C0101DE008C019C0618001800FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C0101DE008C01AC0618001800FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
00000000000036000000280000006000000040050000010020000000000000E0
|
||||
070000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009D9188003D2413003D241300FFFF
|
||||
|
||||
@ -20090,8 +20090,9 @@ begin
|
||||
frm3d.ShowModal;
|
||||
FreeAndNil(frm3D);
|
||||
//Tolik 11/07/2025 -- âîññòàíîâèòü ïðîåêò, åñëè áûëè èçìåíåíèÿ ÷åðåç 3Ä...
|
||||
if GisChangeFrom3D then
|
||||
{if GisChangeFrom3D then
|
||||
UndoListInPM(-1, GetPathToSCSUndoUniqDir(true), true, 0, 0);
|
||||
}
|
||||
//
|
||||
// Tolik 23/07/2018 --
|
||||
GCadForm.PCad.Refresh;
|
||||
@ -21471,6 +21472,7 @@ var
|
||||
//tmpCad: TF_Cad;
|
||||
Dir3dUndoName: string;
|
||||
UndoAct: TListUndoAction;
|
||||
cadheight: Double;
|
||||
{
|
||||
procedure InsertIntoHList(Cad: TF_CAD);
|
||||
var
|
||||
@ -21782,6 +21784,38 @@ begin
|
||||
GetSortModelLists;
|
||||
// Tolik 26/04/2018 --
|
||||
ListOfCadsFor3DModel := TList.Create;
|
||||
|
||||
//Tolik 24/7/2025 --
|
||||
cadHeight := 0;
|
||||
frm3d.FCadList.Add(SavedGCadForm);
|
||||
SetLength(frm3d.FFloorsHeightArray, Length(frm3d.FFloorsHeightArray) + 1);
|
||||
frm3d.FFloorsHeightArray[0] := 0;
|
||||
|
||||
if HLists.Count > 0 then
|
||||
begin
|
||||
for i := 1 to HLists.Count -1 do
|
||||
begin
|
||||
frm3d.FCadList.Add(HLists[i]);
|
||||
SetLength(frm3d.FFloorsHeightArray, Length(frm3d.FFloorsHeightArray) + 1);
|
||||
CadHeight := CadHeight + MetreToUOM(TF_CAD(HLists[i -1]).FListSettings.HeightRoom) + 0.01;
|
||||
frm3d.FFloorsHeightArray[Length(frm3d.FFloorsHeightArray) - 1] := CadHeight;
|
||||
end;
|
||||
end;
|
||||
|
||||
if LLists.Count > 0 then
|
||||
begin
|
||||
cadHeight := 0;
|
||||
for i := 0 to LLists.Count - 1 do
|
||||
begin
|
||||
frm3d.FCadList.Add(LLists[i]);
|
||||
SetLength(frm3d.FFloorsHeightArray, Length(frm3d.FFloorsHeightArray) + 1);
|
||||
CadHeight := CadHeight - MetreToUOM(TF_CAD(LLists[i]).FListSettings.HeightRoom) - 0.01;
|
||||
frm3d.FFloorsHeightArray[Length(frm3d.FFloorsHeightArray) - 1] := CadHeight;
|
||||
end;
|
||||
end;
|
||||
//SetLength(frm3d.FFloorsHeightArray, Length(frm3d.FFloorsHeightArray) + 1);
|
||||
//frm3d.FFloorsHeightArray[Length(frm3d.FFloorsHeightArray) - 1] := frm3D.FZOrder + MetreToUOM(ListParams.Settings.HeightRoom + 0.01);
|
||||
//
|
||||
if HLists.Count > 0 then
|
||||
begin
|
||||
HListOfCadsFor3DModel := TList.Create;
|
||||
@ -21799,6 +21833,9 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
{ frm3d.FCadList.Add(SavedGCadForm);
|
||||
SetLength(frm3d.FFloorsHeightArray, Length(frm3d.FFloorsHeightArray) + 1);
|
||||
frm3d.FFloorsHeightArray[Length(frm3d.FFloorsHeightArray) - 1] := 0;}
|
||||
//
|
||||
// Ýòàæè âûøå óðîâíÿ çåìëè
|
||||
frm3D.FZOrder := 0;
|
||||
@ -21857,6 +21894,11 @@ begin
|
||||
begin
|
||||
ListParams := GetListParams(GCadForm.FCADListID);
|
||||
frm3D.FZOrder := frm3D.FZOrder + MetreToUOM(ListParams.Settings.HeightRoom + 0.01);
|
||||
//Tolik 24/7/2025 --
|
||||
//frm3d.FCadList.Add(GCadForm);
|
||||
//SetLength(frm3d.FFloorsHeightArray, Length(frm3d.FFloorsHeightArray) + 1);
|
||||
//frm3d.FFloorsHeightArray[Length(frm3d.FFloorsHeightArray) - 1] := frm3D.FZOrder + MetreToUOM(ListParams.Settings.HeightRoom + 0.01);
|
||||
//
|
||||
end;
|
||||
end
|
||||
else
|
||||
@ -21876,7 +21918,10 @@ begin
|
||||
//Tolik 29/09/2021 --
|
||||
//frm3D.FZOrder := frm3D.FZOrder - ListParams.Settings.HeightRoom - 0.01;
|
||||
frm3D.FZOrder := frm3D.FZOrder - MetreToUOM(ListParams.Settings.HeightRoom - 0.01);
|
||||
//
|
||||
//Tolik 24/07/2025--
|
||||
//frm3d.FCadList.Add(GCadForm);
|
||||
//SetLength(frm3d.FFloorsHeightArray, Length(frm3d.FFloorsHeightArray) + 1);
|
||||
//frm3d.FFloorsHeightArray[Length(frm3d.FFloorsHeightArray) - 1] := frm3D.FZOrder - MetreToUOM(ListParams.Settings.HeightRoom + 0.01);
|
||||
end
|
||||
else
|
||||
begin
|
||||
|
||||
@ -12555,7 +12555,6 @@ begin
|
||||
if aConnector.ID = ASnapConnector.ID then
|
||||
exit;
|
||||
//
|
||||
|
||||
SwapConnectors := False;
|
||||
|
||||
if CheckIsRaise(ASnapConnector) then
|
||||
@ -24478,6 +24477,15 @@ var
|
||||
begin
|
||||
RaiseLine := Nil;
|
||||
SnapConn := Nil;
|
||||
//Tolik 06/08/2025 -- тут дядим возможность создать наклонную трассу
|
||||
if GCadForm.FAutoPosTraceBetweenRM then // если разрешены наклонные трассы
|
||||
begin
|
||||
Result := True;
|
||||
SnapConn := ASnapConnector;
|
||||
Snap_Type := 1; // просто коннектор на коннектор -- как есть
|
||||
exit;
|
||||
end;
|
||||
//
|
||||
if compareValue(AConnector.ActualZOrder[1], ASnapConnector.ActualZOrder[1]) <> 0 then
|
||||
begin
|
||||
CreateRaiseOnConnector(AConnector, ASnapConnector.ActualZOrder[1]); // ńîçäŕňü đŕéç íŕ ęîííĺęňîđĺ
|
||||
|
||||
@ -2,7 +2,7 @@ object DMCommon: TDMCommon
|
||||
OldCreateOrder = False
|
||||
OnCreate = DataModuleCreate
|
||||
Left = 57
|
||||
Top = 240
|
||||
Top = 144
|
||||
Height = 584
|
||||
Width = 956
|
||||
object mtConnectionRelType: TkbmMemTable
|
||||
@ -286,7 +286,7 @@ object DMCommon: TDMCommon
|
||||
Left = 394
|
||||
Top = 25
|
||||
Bitmap = {
|
||||
494C01013B004802300110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C01013B004802340110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
000000000000360000002800000040000000F0000000010020000000000000F0
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
@ -2278,7 +2278,7 @@ object DMCommon: TDMCommon
|
||||
Left = 594
|
||||
Top = 33
|
||||
Bitmap = {
|
||||
494C010139003B00C40010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C010139003B00C80010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
000000000000360000002800000040000000F0000000010020000000000000F0
|
||||
00000000000000000000000000000000000000000000BDBDBD00A5A5A5009C9C
|
||||
9C009C9C9C009C9C9C009C9C9C009C9C9C009C9C9C009C9C9C009C9C9C009C9C
|
||||
|
||||
@ -9,7 +9,7 @@ object F_MAIN: TF_MAIN
|
||||
BorderIcons = [biSystemMenu]
|
||||
BorderStyle = bsNone
|
||||
Caption = #1053#1086#1088#1084#1072#1090#1080#1074#1085#1072#1103' '#1073#1072#1079#1072' '#1057#1050#1057' '#1082#1086#1084#1087#1086#1085#1077#1085#1090#1086#1074
|
||||
ClientHeight = 696
|
||||
ClientHeight = 689
|
||||
ClientWidth = 357
|
||||
Color = clWindow
|
||||
Constraints.MinWidth = 160
|
||||
@ -39,7 +39,7 @@ object F_MAIN: TF_MAIN
|
||||
TextHeight = 13
|
||||
object Panel_OKCancel: TPanel
|
||||
Left = 0
|
||||
Top = 635
|
||||
Top = 628
|
||||
Width = 357
|
||||
Height = 61
|
||||
Align = alBottom
|
||||
@ -52,6 +52,7 @@ object F_MAIN: TF_MAIN
|
||||
ParentFont = False
|
||||
TabOrder = 0
|
||||
Visible = False
|
||||
ExplicitTop = 635
|
||||
object Label_Kolvo: TLabel
|
||||
Left = 16
|
||||
Top = 8
|
||||
@ -99,7 +100,7 @@ object F_MAIN: TF_MAIN
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 357
|
||||
Height = 635
|
||||
Height = 628
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
DockSite = True
|
||||
@ -110,9 +111,10 @@ object F_MAIN: TF_MAIN
|
||||
OnDblClick = Panel_Main1Click
|
||||
OnResize = Panel_MainResize
|
||||
OnUnDock = Panel_MainUnDock
|
||||
ExplicitHeight = 635
|
||||
object Panel_Addition: TRzSizePanel
|
||||
Left = 0
|
||||
Top = 434
|
||||
Top = 427
|
||||
Width = 357
|
||||
Height = 201
|
||||
Align = alBottom
|
||||
@ -123,6 +125,7 @@ object F_MAIN: TF_MAIN
|
||||
SizeBarWidth = 7
|
||||
TabOrder = 0
|
||||
VisualStyle = vsClassic
|
||||
ExplicitTop = 434
|
||||
object ToolBar_CompData: TToolBar
|
||||
Left = 0
|
||||
Top = 47
|
||||
@ -1294,7 +1297,7 @@ object F_MAIN: TF_MAIN
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 357
|
||||
Height = 434
|
||||
Height = 427
|
||||
ActivePage = tsComponents
|
||||
SaveResources = True
|
||||
Align = alClient
|
||||
@ -1321,11 +1324,13 @@ object F_MAIN: TF_MAIN
|
||||
TabStyle = tsSquareCorners
|
||||
OnChange = pcObjectsChange
|
||||
OnMouseMove = pcObjectsMouseMove
|
||||
ExplicitHeight = 434
|
||||
FixedDimension = 22
|
||||
object tsTemplates: TRzTabSheet
|
||||
Hint = #1054#1073#1098#1077#1082#1090#1099
|
||||
ImageIndex = 1
|
||||
Caption = #1054#1073#1098#1077#1082#1090#1099
|
||||
ExplicitHeight = 434
|
||||
object lvTemplates: TRzListView
|
||||
Left = 160
|
||||
Top = 30
|
||||
@ -1454,11 +1459,12 @@ object F_MAIN: TF_MAIN
|
||||
ImageIndex = 2
|
||||
Caption = #1050#1086#1084#1087#1086#1085#1077#1085#1090#1099
|
||||
OnResize = tsComponentsResize
|
||||
ExplicitHeight = 434
|
||||
object Panel_Tree: TPanel
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 332
|
||||
Height = 434
|
||||
Height = 427
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
Caption = #1055#1072#1087#1082#1080
|
||||
@ -1476,6 +1482,7 @@ object F_MAIN: TF_MAIN
|
||||
OnEndDock = Panel_TreeEndDock
|
||||
OnMouseMove = Panel_TreeMouseMove
|
||||
OnStartDock = Panel_TreeStartDock
|
||||
ExplicitHeight = 434
|
||||
object splFindInTree: TSplitter
|
||||
Left = 0
|
||||
Top = 201
|
||||
@ -1580,7 +1587,7 @@ object F_MAIN: TF_MAIN
|
||||
Left = 0
|
||||
Top = 204
|
||||
Width = 332
|
||||
Height = 211
|
||||
Height = 204
|
||||
Align = alClient
|
||||
DoubleBuffered = True
|
||||
DragMode = dmAutomatic
|
||||
@ -1619,6 +1626,7 @@ object F_MAIN: TF_MAIN
|
||||
OnMouseMove = Tree_CatalogMouseMove
|
||||
OnMouseUp = Tree_CatalogMouseUp
|
||||
OnStartDrag = Tree_CatalogStartDrag
|
||||
ExplicitHeight = 211
|
||||
end
|
||||
object Panel_New: TPanel
|
||||
Left = -169
|
||||
@ -1710,10 +1718,6 @@ object F_MAIN: TF_MAIN
|
||||
FixedDimension = 13
|
||||
object tsFind: TRzTabSheet
|
||||
Caption = #1055#1086#1080#1089#1082
|
||||
ExplicitLeft = 0
|
||||
ExplicitTop = 0
|
||||
ExplicitWidth = 0
|
||||
ExplicitHeight = 0
|
||||
object Panel2: TPanel
|
||||
Left = 0
|
||||
Top = 0
|
||||
@ -2167,13 +2171,14 @@ object F_MAIN: TF_MAIN
|
||||
end
|
||||
object pnFilterIsOn: TRzPanel
|
||||
Left = 0
|
||||
Top = 415
|
||||
Top = 408
|
||||
Width = 332
|
||||
Height = 19
|
||||
Align = alBottom
|
||||
BorderInner = fsFlat
|
||||
BorderOuter = fsNone
|
||||
TabOrder = 4
|
||||
ExplicitTop = 415
|
||||
object lbFilterIsOn: TRzLabel
|
||||
Left = 8
|
||||
Top = 2
|
||||
@ -2216,6 +2221,7 @@ object F_MAIN: TF_MAIN
|
||||
Caption = #1043#1088#1091#1087#1087#1099
|
||||
ParentShowHint = False
|
||||
ShowHint = False
|
||||
ExplicitHeight = 434
|
||||
object Splitter1: TSplitter
|
||||
Left = 0
|
||||
Top = 105
|
||||
@ -2551,7 +2557,7 @@ object F_MAIN: TF_MAIN
|
||||
Left = 0
|
||||
Top = 108
|
||||
Width = 332
|
||||
Height = 326
|
||||
Height = 319
|
||||
SmoothExpandCollapse = False
|
||||
FitColumnToClientWidth = True
|
||||
RightClickSelect = True
|
||||
@ -8298,7 +8304,7 @@ object F_MAIN: TF_MAIN
|
||||
Left = 200
|
||||
Top = 152
|
||||
Bitmap = {
|
||||
494C010104005001240310001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C010104005001280310001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
0000000000003600000028000000400000002000000001002000000000000020
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
object F_ResourceReport: TF_ResourceReport
|
||||
Left = 251
|
||||
Top = 5
|
||||
Top = 0
|
||||
HelpContext = 87000
|
||||
BorderIcons = [biSystemMenu, biMinimize]
|
||||
BorderStyle = bsSingle
|
||||
Caption = #1054#1090#1095#1077#1090#1099
|
||||
ClientHeight = 705
|
||||
ClientHeight = 689
|
||||
ClientWidth = 948
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
@ -23,12 +23,13 @@ object F_ResourceReport: TF_ResourceReport
|
||||
TextHeight = 13
|
||||
object gbViewClose: TRzGroupBox
|
||||
Left = 0
|
||||
Top = 664
|
||||
Top = 648
|
||||
Width = 948
|
||||
Height = 41
|
||||
Align = alBottom
|
||||
TabOrder = 2
|
||||
OnResize = gbViewCloseResize
|
||||
ExplicitTop = 664
|
||||
object btShowReport: TRzBitBtn
|
||||
Left = 112
|
||||
Top = 13
|
||||
@ -137,24 +138,26 @@ object F_ResourceReport: TF_ResourceReport
|
||||
Left = 0
|
||||
Top = 44
|
||||
Width = 948
|
||||
Height = 620
|
||||
Height = 604
|
||||
Align = alClient
|
||||
BorderOuter = fsNone
|
||||
TabOrder = 1
|
||||
ExplicitHeight = 620
|
||||
object splitTarget: TSplitter
|
||||
Left = 209
|
||||
Top = 0
|
||||
Height = 443
|
||||
Height = 427
|
||||
ExplicitHeight = 449
|
||||
end
|
||||
object pnParamsAndModes: TRzPanel
|
||||
Left = 0
|
||||
Top = 443
|
||||
Top = 427
|
||||
Width = 948
|
||||
Height = 177
|
||||
Align = alBottom
|
||||
BorderOuter = fsNone
|
||||
TabOrder = 2
|
||||
ExplicitTop = 443
|
||||
object RzGroupBox1: TRzGroupBox
|
||||
Left = 4
|
||||
Top = -1
|
||||
@ -641,6 +644,8 @@ object F_ResourceReport: TF_ResourceReport
|
||||
object tsMarkPagesParams: TRzTabSheet
|
||||
TabVisible = False
|
||||
Caption = 'tsMarkPagesParams'
|
||||
ExplicitWidth = 0
|
||||
ExplicitHeight = 0
|
||||
object lbNoCabinet: TLabel
|
||||
Left = 256
|
||||
Top = 64
|
||||
@ -732,6 +737,8 @@ object F_ResourceReport: TF_ResourceReport
|
||||
object tsCablePathParams: TRzTabSheet
|
||||
TabVisible = False
|
||||
Caption = 'tsCablePathParams'
|
||||
ExplicitWidth = 0
|
||||
ExplicitHeight = 0
|
||||
object Label5: TLabel
|
||||
Left = 8
|
||||
Top = 106
|
||||
@ -867,14 +874,15 @@ object F_ResourceReport: TF_ResourceReport
|
||||
Left = 212
|
||||
Top = 0
|
||||
Width = 736
|
||||
Height = 443
|
||||
Height = 427
|
||||
Align = alClient
|
||||
TabOrder = 1
|
||||
ExplicitHeight = 443
|
||||
object tvReports: TFlyTreeViewPro
|
||||
Left = 1
|
||||
Top = 14
|
||||
Width = 734
|
||||
Height = 428
|
||||
Height = 412
|
||||
SelectedTextColor = clWhite
|
||||
Align = alClient
|
||||
PopupMenu = pmReports
|
||||
@ -899,6 +907,7 @@ object F_ResourceReport: TF_ResourceReport
|
||||
ShowRoot = False
|
||||
ShowImages = True
|
||||
StructureCol = 1
|
||||
ExplicitHeight = 428
|
||||
Data = {
|
||||
29010000010000000610540046006C0079004E006F00640065000F0100000612
|
||||
430065006C006C00730054006500780074004200000006280D000A0054006600
|
||||
@ -1113,7 +1122,7 @@ object F_ResourceReport: TF_ResourceReport
|
||||
060E560069007300690062006C006500D004000001060A570069006400740068
|
||||
00E40400001302000000000000}
|
||||
Bitmap = {
|
||||
494C01010100DC00700210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C01010100DC00740210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
0000000000003600000028000000400000001000000001002000000000000010
|
||||
000000000000000000000000000000000000FFFFFF00FF9C0000CE630000CE63
|
||||
0000CE630000CE630000CE630000CE630000CE630000CE630000CE630000FFFF
|
||||
@ -1273,10 +1282,11 @@ object F_ResourceReport: TF_ResourceReport
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 209
|
||||
Height = 443
|
||||
Height = 427
|
||||
Align = alLeft
|
||||
Caption = #1054#1090#1095#1077#1090' '#1076#1083#1103'...'
|
||||
TabOrder = 0
|
||||
ExplicitHeight = 443
|
||||
object RzLabel1: TRzLabel
|
||||
Left = 3
|
||||
Top = 326
|
||||
@ -1458,7 +1468,7 @@ object F_ResourceReport: TF_ResourceReport
|
||||
Left = 16
|
||||
Top = 224
|
||||
Bitmap = {
|
||||
494C01010C00D400740210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C01010C00D400780210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
0000000000003600000028000000400000004000000001002000000000000040
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
|
||||
@ -3,7 +3,7 @@ object DM: TDM
|
||||
OnCreate = DataModuleCreate
|
||||
OnDestroy = DataModuleDestroy
|
||||
Left = 131
|
||||
Top = 165
|
||||
Top = 13
|
||||
Height = 715
|
||||
Width = 1022
|
||||
object Database_SCS: TpFIBDatabase
|
||||
@ -321,7 +321,7 @@ object DM: TDM
|
||||
Left = 426
|
||||
Top = 16
|
||||
Bitmap = {
|
||||
494C0101150044005C0110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C010115004400600110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
0000000000003600000028000000400000006000000001002000000000000060
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
@ -1126,7 +1126,7 @@ object DM: TDM
|
||||
Left = 493
|
||||
Top = 2
|
||||
Bitmap = {
|
||||
494C01010200440014011A001900FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C01010200440018011A001900FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
000000000000360000002800000068000000190000000100200000000000A028
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
@ -1474,7 +1474,7 @@ object DM: TDM
|
||||
Left = 492
|
||||
Top = 41
|
||||
Bitmap = {
|
||||
494C01013F0044002C0110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C01013F004400300110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
0000000000003600000028000000400000000001000001002000000000000000
|
||||
0100000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
@ -3652,7 +3652,7 @@ object DM: TDM
|
||||
object ImageList_InterfType: TImageList
|
||||
Left = 554
|
||||
Bitmap = {
|
||||
494C010101004400140110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C010101004400180110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
0000000000003600000028000000400000001000000001002000000000000010
|
||||
0000000000000000000000000000000000004D4F4F004D4F4F00000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
@ -9419,7 +9419,7 @@ object DM: TDM
|
||||
Left = 600
|
||||
Top = 16
|
||||
Bitmap = {
|
||||
494C010105004400080110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C0101050044000C0110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
0000000000003600000028000000400000002000000001002000000000000020
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
@ -9718,7 +9718,7 @@ object DM: TDM
|
||||
Left = 480
|
||||
Top = 80
|
||||
Bitmap = {
|
||||
494C010102004400140110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C010102004400180110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
0000000000003600000028000000400000001000000001002000000000000010
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
@ -9965,7 +9965,7 @@ object DM: TDM
|
||||
Left = 1018
|
||||
Top = 240
|
||||
Bitmap = {
|
||||
494C010113004400080110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C0101130044000C0110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
0000000000003600000028000000400000005000000001002000000000000050
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
@ -10638,7 +10638,7 @@ object DM: TDM
|
||||
Left = 1109
|
||||
Top = 234
|
||||
Bitmap = {
|
||||
494C01010200440008011A001900FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C0101020044000C011A001900FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
000000000000360000002800000068000000190000000100200000000000A028
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
@ -10986,7 +10986,7 @@ object DM: TDM
|
||||
Left = 1210
|
||||
Top = 240
|
||||
Bitmap = {
|
||||
494C010101004400080110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C0101010044000C0110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
0000000000003600000028000000400000001000000001002000000000000010
|
||||
0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
@ -11129,7 +11129,7 @@ object DM: TDM
|
||||
Left = 1100
|
||||
Top = 289
|
||||
Bitmap = {
|
||||
494C01013F004400080110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C01013F0044000C0110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
0000000000003600000028000000400000000001000001002000000000000000
|
||||
0100000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
@ -13252,7 +13252,7 @@ object DM: TDM
|
||||
Left = 1104
|
||||
Top = 344
|
||||
Bitmap = {
|
||||
494C010102004400080110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C0101020044000C0110001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
0000000000003600000028000000400000001000000001002000000000000010
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user