본문으로 건너뛰기

PerformInterferenceCheck

Overloads

NameDescription
PerformInterferenceCheck(int id)간섭검사 수행
PerformInterferenceCheck(int id, bool progressForm)간섭검사 수행
PerformInterferenceCheck()모든 간섭검사 (재)수행
PerformInterferenceCheck(List<int> items)모든 간섭검사 (재)수행
PerformInterferenceCheck(List<ClashTest> items)모든 간섭검사 (재)수행

PerformInterferenceCheck(int id)

public bool PerformInterferenceCheck(int id)

간섭검사 수행

Parameters

NameTypeDescription
idint간섭검사 테스트 아이디(ID)

Returns

TypeDescription
bool간섭검사 수행 시작 결과 : True(검사 수행 시작 성공), False(검사 수행 시작 실패)

Examples

// VIZCore3D.NET Control
private VIZCore3D.NET.VIZCore3DControl vizcore3d;
private VIZCore3D.NET.Data.ClashTest clash;

private void Example()
{
clash = new VIZCore3D.NET.Data.ClashTest();

clash.Name = "CLASH TEST #1";
clash.TestKind = VIZCore3D.NET.Data.ClashTest.ClashTestKind.GROUP_VS_GROUP;

clash.UseRangeValue = false;
clash.RangeValue = 2.0f;
clash.UsePenetrationTolerance = true;
clash.PenetrationTolerance = 1.0f;

clash.VisibleOnly = false;
clash.BottomLevel = 2;

List<VIZCore3D.NET.Data.Node> groupA =
vizcore3d.Object3D.Find.QuickSearch(
new List<string>() { "EQUIPMENT" }
, false
, true
, false
, false
, true
, false
);

clash.GroupA = groupA;

List<VIZCore3D.NET.Data.Node> groupB =
vizcore3d.Object3D.Find.QuickSearch(
new List<string>() { "HULL" }
, false
, true
, false
, false
, true
, false
);

clash.GroupB = groupB;

if (clash.ID == -1)
{
bool result = vizcore3d.Clash.Add(clash);

MessageBox.Show(
string.Format("ClashTest : {0} / {1}", result == true ? "OK" : "NG", clash.ID)
, "VIZCore3D.NET.ClashTest"
, MessageBoxButtons.OK
, result == true ? MessageBoxIcon.Information : MessageBoxIcon.Error
);
}
else
{
vizcore3d.Clash.Update(clash);
}

vizcore3d.Clash.OnClashTestFinishedEvent += Clash_OnClashTestFinishedEvent;

// 간섭검사 수행
bool result = vizcore3d.Clash.PerformInterferenceCheck(clash.ID);
}

private void Clash_OnClashTestFinishedEvent(object sender, VIZCore3D.NET.Event.EventManager.ClashEventArgs e)
{
MessageBox.Show(
string.Format("Clash Test Completed. : {0} / {1}"
, e.ID
, clash.ElapsedTimeString)
, "VIZCore3D.NET.ClashTest"
, MessageBoxButtons.OK, MessageBoxIcon.Information
);

bool resultDataKind = true; // True : Assembly, False : Part

List<VIZCore3D.NET.Data.ClashTestResultItem> items = null;

if (clash.TestKind != VIZCore3D.NET.Data.ClashTest.ClashTestKind.GROUP_VS_MOVING_GROUP)
{
items = vizcore3d.Clash.GetResultItem(
clash
, resultDataKind == true
? VIZCore3D.NET.Manager.ClashManager.ResultGroupingOptions.ASSEMBLY
: VIZCore3D.NET.Manager.ClashManager.ResultGroupingOptions.PART
);
}
else
{
//items = vizcore3d.Clash.GetResultItem(clash, 0, ckResultAssembly.Checked == true ? VIZCore3D.NET.Manager.ClashManager.ResultGroupingOptions.ASSEMBLY : VIZCore3D.NET.Manager.ClashManager.ResultGroupingOptions.PART);
items = vizcore3d.Clash.GetResultAllSubItem(
clash
, resultDataKind == true
? VIZCore3D.NET.Manager.ClashManager.ResultGroupingOptions.ASSEMBLY
: VIZCore3D.NET.Manager.ClashManager.ResultGroupingOptions.PART
);
}
}

PerformInterferenceCheck(int id, bool progressForm)

public bool PerformInterferenceCheck(int id, bool progressForm)

간섭검사 수행

Parameters

NameTypeDescription
idint간섭검사 테스트 아이디(ID)
progressFormboolprogressForm 보이기/숨기기

Returns

TypeDescription
bool간섭검사 수행 시작 결과 : True(검사 수행 시작 성공), False(검사 수행 시작 실패)

Examples

// VIZCore3D.NET Control
private VIZCore3D.NET.VIZCore3DControl vizcore3d;
private VIZCore3D.NET.Data.ClashTest clash;

private void Example()
{
clash = new VIZCore3D.NET.Data.ClashTest();

clash.Name = "CLASH TEST #1";
clash.TestKind = VIZCore3D.NET.Data.ClashTest.ClashTestKind.GROUP_VS_GROUP;

clash.UseRangeValue = false;
clash.RangeValue = 2.0f;
clash.UsePenetrationTolerance = true;
clash.PenetrationTolerance = 1.0f;

clash.VisibleOnly = false;
clash.BottomLevel = 2;

List<VIZCore3D.NET.Data.Node> groupA =
vizcore3d.Object3D.Find.QuickSearch(
new List<string>() { "EQUIPMENT" }
, false
, true
, false
, false
, true
, false
);

clash.GroupA = groupA;

List<VIZCore3D.NET.Data.Node> groupB =
vizcore3d.Object3D.Find.QuickSearch(
new List<string>() { "HULL" }
, false
, true
, false
, false
, true
, false
);

clash.GroupB = groupB;

if (clash.ID == -1)
{
bool result = vizcore3d.Clash.Add(clash);

MessageBox.Show(
string.Format("ClashTest : {0} / {1}", result == true ? "OK" : "NG", clash.ID)
, "VIZCore3D.NET.ClashTest"
, MessageBoxButtons.OK
, result == true ? MessageBoxIcon.Information : MessageBoxIcon.Error
);
}
else
{
vizcore3d.Clash.Update(clash);
}

vizcore3d.Clash.OnClashTestFinishedEvent += Clash_OnClashTestFinishedEvent;
//progressForm 보이기/숨기기
bool progressForm = false;

// 간섭검사 수행
bool result = vizcore3d.Clash.PerformInterferenceCheck(clash.ID);
}

private void Clash_OnClashTestFinishedEvent(object sender, VIZCore3D.NET.Event.EventManager.ClashEventArgs e)
{
MessageBox.Show(
string.Format("Clash Test Completed. : {0} / {1}"
, e.ID
, clash.ElapsedTimeString)
, "VIZCore3D.NET.ClashTest"
, MessageBoxButtons.OK, MessageBoxIcon.Information
);

bool resultDataKind = true; // True : Assembly, False : Part

List<VIZCore3D.NET.Data.ClashTestResultItem> items = null;

if (clash.TestKind != VIZCore3D.NET.Data.ClashTest.ClashTestKind.GROUP_VS_MOVING_GROUP)
{
items = vizcore3d.Clash.GetResultItem(
clash
, resultDataKind == true
? VIZCore3D.NET.Manager.ClashManager.ResultGroupingOptions.ASSEMBLY
: VIZCore3D.NET.Manager.ClashManager.ResultGroupingOptions.PART
);
}
else
{
//items = vizcore3d.Clash.GetResultItem(clash, 0, ckResultAssembly.Checked == true ? VIZCore3D.NET.Manager.ClashManager.ResultGroupingOptions.ASSEMBLY : VIZCore3D.NET.Manager.ClashManager.ResultGroupingOptions.PART);
items = vizcore3d.Clash.GetResultAllSubItem(
clash
, resultDataKind == true
? VIZCore3D.NET.Manager.ClashManager.ResultGroupingOptions.ASSEMBLY
: VIZCore3D.NET.Manager.ClashManager.ResultGroupingOptions.PART
);
}
}

PerformInterferenceCheck()

public bool PerformInterferenceCheck()

모든 간섭검사 (재)수행

Returns

TypeDescription
bool간섭검사 수행 시작 결과 : True(검사 수행 시작 성공), False(검사 수행 시작 실패)

PerformInterferenceCheck(List<int> items)

public bool PerformInterferenceCheck(List&lt;int&gt; items)

모든 간섭검사 (재)수행

Parameters

NameTypeDescription
itemsList<int>검사 대상 항목

Returns

TypeDescription
bool간섭검사 수행 시작 결과 : True(검사 수행 시작 성공), False(검사 수행 시작 실패)

PerformInterferenceCheck(List<ClashTest> items)

public bool PerformInterferenceCheck(List&lt;ClashTest&gt; items)

모든 간섭검사 (재)수행

Parameters

NameTypeDescription
itemsList<ClashTest>검사 대상 항목

Returns

TypeDescription
bool간섭검사 수행 시작 결과 : True(검사 수행 시작 성공), False(검사 수행 시작 실패)