2009년 9월 8일 화요일

BSPLINE에 RELATION 주기

Private Function Airfoil(ByVal beta2 As Double, ByVal VaneL As Double) As Boolean
If beta2 * VaneL = 0 Then Exit Function
Dim objpDoc As SolidEdgePart.PartDocument

If (objDoc.Type <> SolidEdgeFramework.DocumentTypeConstants.igPartDocument) Then
MsgBox("Please, Open Part Document.")
Airfoil = False
Exit Function
End If
objpDoc = objDoc

Dim objRefPlane(2) As SolidEdgePart.RefPlane
Dim objProfile As SolidEdgePart.Profile
Dim dblX As Double
Dim dblY As Double

' Create a new reference plane.
' objRefPlane = objDoc.RefPlanes.AddParallelByDistance( _
' ParentPlane:=objDoc.RefPlanes(1), _
' distance:=0, _
' NormalSide:=igLeft, _
' Local:=True)
objRefPlane(1) = objpDoc.RefPlanes.AddAngularByAngle( _
ParentPlane:=objpDoc.RefPlanes(1), _
Angle:=(180 - beta2) / 180 * Math.PI, _
NormalSide:=SolidEdgePart.FeaturePropertyConstants.igNormalSideDummy, _
Pivot:=objpDoc.RefPlanes(2), _
PivotOrigin:=SolidEdgePart.ReferenceElementConstants.igPivotEnd, _
Local:=False)

objRefPlane(0) = objpDoc.RefPlanes.AddAngularByAngle( _
ParentPlane:=objRefPlane(1), _
Angle:=Math.PI / 2, _
NormalSide:=SolidEdgePart.FeaturePropertyConstants.igNormalSideDummy, _
Pivot:=objpDoc.RefPlanes(0), _
PivotOrigin:=SolidEdgePart.ReferenceElementConstants.igPivotEnd, _
Local:=False)

objProfile = objDoc.ProfileSets.Add.Profiles.Add(objRefPlane(0))

' Get the model space origin relative to profile space.
objProfile.Convert3DCoordinate(x3d:=0, y3d:=0, z3d:=0, _
x2d:=dblX, y2d:=dblY)

' Draw a circle for the profile graphics.
' objProfile.Circles2d.AddByCenterRadius(x:=dblX, y:=dblY, Radius:=500 / 1000)
Dim PointData(52) As Double
Dim i As Long = 0

PointData(i) = 486.3 / 1000 : PointData(i + 1) = 5.7 / 1000 : i = i + 2
PointData(i) = 437.6 / 1000 : PointData(i + 1) = 20.2 / 1000 : i = i + 2
PointData(i) = 389.0 / 1000 : PointData(i + 1) = 31.7 / 1000 : i = i + 2
PointData(i) = 340.4 / 1000 : PointData(i + 1) = 39.8 / 1000 : i = i + 2
PointData(i) = 291.8 / 1000 : PointData(i + 1) = 45.4 / 1000 : i = i + 2
PointData(i) = 243.1 / 1000 : PointData(i + 1) = 49.2 / 1000 : i = i + 2
PointData(i) = 194.5 / 1000 : PointData(i + 1) = 50.9 / 1000 : i = i + 2
PointData(i) = 145.9 / 1000 : PointData(i + 1) = 48.6 / 1000 : i = i + 2
PointData(i) = 97.3 / 1000 : PointData(i + 1) = 44.4 / 1000 : i = i + 2
PointData(i) = 72.9 / 1000 : PointData(i + 1) = 40.5 / 1000 : i = i + 2
PointData(i) = 48.6 / 1000 : PointData(i + 1) = 37.3 / 1000 : i = i + 2
PointData(i) = 24.3 / 1000 : PointData(i + 1) = 32.7 / 1000 : i = i + 2
PointData(i) = 0 / 1000 : PointData(i + 1) = 12.8 / 1000 : i = i + 2
PointData(i) = 24.3 / 1000 : PointData(i + 1) = 1.4 / 1000 : i = i + 2
PointData(i) = 48.6 / 1000 : PointData(i + 1) = 2.1 / 1000 : i = i + 2
PointData(i) = 72.9 / 1000 : PointData(i + 1) = 2.8 / 1000 : i = i + 2
PointData(i) = 97.3 / 1000 : PointData(i + 1) = 4.3 / 1000 : i = i + 2
PointData(i) = 145.9 / 1000 : PointData(i + 1) = 5.7 / 1000 : i = i + 2
PointData(i) = 194.5 / 1000 : PointData(i + 1) = 6.1 / 1000 : i = i + 2
PointData(i) = 243.1 / 1000 : PointData(i + 1) = 6.8 / 1000 : i = i + 2
PointData(i) = 291.8 / 1000 : PointData(i + 1) = 7.1 / 1000 : i = i + 2
PointData(i) = 340.4 / 1000 : PointData(i + 1) = 7.1 / 1000 : i = i + 2
PointData(i) = 389.0 / 1000 : PointData(i + 1) = 5.7 / 1000 : i = i + 2
PointData(i) = 437.6 / 1000 : PointData(i + 1) = 2.8 / 1000 : i = i + 2
PointData(i) = 486.3 / 1000 : PointData(i + 1) = 0 / 1000 : i = i + 2

Dim objBSpline As SolidEdgeFrameworkSupport.BSplineCurve2d
objBSpline = objProfile.BSplineCurves2d.AddByPoints(Order:=4, ArraySize:=25, Array:=PointData)
Dim objLine As SolidEdgeFrameworkSupport.Line2d
objLine = objProfile.Lines2d.AddBy2Points(PointData(48), PointData(49), PointData(0), PointData(1))

Dim objRelations As SolidEdgeFrameworkSupport.Relations2d
objRelations = objProfile.Relations2d
objProfile.Relations2d.addkeypoint( _
objLine, SolidEdgeConstants.KeypointIndexConstants.igLineEnd, _
objBSpline, SolidEdgeConstants.KeypointIndexConstants.igBsplineCurveStart)
objRelations.AddKeypoint( _
objLine, SolidEdgeConstants.KeypointIndexConstants.igLineStart, _
objBSpline, 25 - 1) ' Array 갯수과 관련이 있음.
' End and validate the profile.
Dim ordStatus As Boolean
ordStatus = objProfile.End(ValidationCriteria:=SolidEdgePart.ProfileValidationType.igProfileClosed)
If ordStatus <> 0 Then
MsgBox("Invalid Profile")
Exit Function
End If

End Function

2009년 9월 7일 월요일

[KRC] 티비

텔레비젼 32인치가 크다..

중소기업기준검토표를 조사하다가...
1. 자산 = 부채 + 자본입니다..
1600 = 1200 + 자본이므로 자본은 400이 되어야 합니다.
2. 자기자본은 자본의 구성요소를 모두 합친 것을 말합니다..
자본금 600
주식발행초과금 400
당기순이익 100
전기이월결손금 600
다 합치면 600 + 400 + 100 - 600 = 500입니다... 이상하지요... 뭔가 빠져있습니다.

[kRC] 복합기

사무실에 사용되는 복합기는 잉크젯일 까 레이저 일까

가장 많이 쓰는 모델이 HP5610 약 20 만원

무선랜이되는 옵션을 달아야 겠다.

2009년 9월 5일 토요일

[FE] FLEXLM V11

ANSYS V11이 깔렸습니다. VISTA에서 돌아갑니다.

부고

모시던 Seo 님의 아내가 투병을 끝내고 영면하셨습니다.
이제 추억만 남은 듯합니다.
대구의 경대병원

피곤합니다.

ANsys를 돌려야 합니다.

[KRC] 어둠의 경로

BLACK Cartia v16을 vista에 설치하는 방법이란다.
1. cd1, cd2 iso를 폴더로 푼다. 가상CD는 어떨까?
2. 재부팅시 F8로 네트워크 안전모드로 로그인한다.
3. 설치한다. 56%정도에서 CD2 넣으라고 하면 CD2의 내용을 CD1에 복사한다.
4. 설치완료하고 나머지 크 한다.

cartia를 이제 배워야 겠네... 이제 써보지 않은 S/W가 없는 듯...

기술이전이라기 보다는 생산기술 설계 계획서라고 해야할 것 같다.
그렇다면 관련된 업체 리스트를 모두 목록화 해야 한다.

2009년 9월 3일 목요일