반응형 전체 글407 [솔리드웍스 VBA] 2-2. 원그리기 예제 코드 뜯어보기 (2) Sub 는 꼭 필요한가? 우리가 예제로 사용하고 있는 원그리기 코드는 아래와 같습니다 . Dim swApp As SldWorks.SldWorksDim swModel As ModelDoc2Dim swSketchMgr As SketchManagerSub main() ' 솔리드웍스 연결 Set swApp = Application.SldWorks ' 새 파트 파일 생성 Set swModel = swApp.NewPart ' 앞면 선택 swModel.Extension.SelectByID2 "Front Plane", "PLANE", 0, 0, 0, False, 0, Nothing, 0 ' 스케치 시작 Set swSketchMgr = swModel.SketchManager .. 2025. 3. 26. [솔리드웍스 VBA] 2-1. 원그리기 예제 코드 뜯어보기 (1) Dim 이란? 지난시간에 솔리드웍스 VBA를 이용해서 원을 그려보았습니다. 코드는 아래와 같습니다. 이번 시간에는이 코드를 하나씩 차근차근 살펴봅시다. Dim swApp As SldWorks.SldWorksDim swModel As ModelDoc2Dim swSketchMgr As SketchManagerSub main() ' 솔리드웍스 연결 Set swApp = Application.SldWorks ' 새 파트 파일 생성 Set swModel = swApp.NewPart ' 앞면 선택 swModel.Extension.SelectByID2 "Front Plane", "PLANE", 0, 0, 0, False, 0, Nothing, 0 ' 스케치 시작 S.. 2025. 3. 24. [솔리드웍스 VBA] 1. 솔리드웍스 VBA 간단히 살펴보기 솔리드웍스 VBA란? 솔리드웍스에서는 Visual Basic Application을 이용하여 우리가 버튼을 클릭하며 진행했던 설계 과정을 코딩으로 대신할 수 있습니다. 이때 Visual Basic 이라는 언어를 사용합니다. 설계 과정을 코딩으로 대신하면 설계 자동화가 가능하겠죠? 매크로 만들고 실행해보기먼저 매크로가 어떻게 작동하는지 간단히 살펴봅시다. 아래 과정을 따라해봅시다. 1. 솔리드웍스를 켭니다. 2. [도구]-[매크로]-[새 매크로]를 클릭합니다. 3. 파일 이름을 설정합니다. 4. 저장을 클릭합니다. 아래와 같이 편집기가 열립니다. 편집기에 아래 코드를 입력합시다. Dim swApp As SldWorks.SldWorksDim swModel As ModelDoc2Dim swSke.. 2025. 3. 21. [매트랩] 여러 행렬을 하나의 변수 넣는 법 아래와 같이 세개의 행렬이 있다고 합시다. M1=[1 2 ; 3 4];M2=[10 20 ; 30 40];M3=[100 200 ; 300 400]; 혹은 100개의 행렬이 있다고 합시다. 이때 모든 변수를 각각 정의하는 것은 비효율적입니다. 행렬을 원소로 갖는 어떤 구조가 필요합니다. 두가지 방법이 있습니다. 1. 3차원 배열 사용아래와 같이 정의합니다. M_total(:,:,1)=M1;M_total(:,:,2)=M2;M_total(:,:,3)=M3; 아래와 같이 3차원 배열이 생성됩니다. 직관적으로 이해를 해 보자면, 각 행렬을 위로 쌓은 형태입니다. >> M_totalM_total(:,:,1) = 1 2 3 4M_total(:,:,2) = 10 20 .. 2024. 10. 10. [선형대수학] 역행렬과 전치행렬이 같은 경우 (직교행렬) 어떤 정사각행렬 A가 있다고 합시다. 아래와 같이 열벡터로 나타낼 수 있습니다. A=[||c1⋯cn||] A의 전치행렬은 아래와 같습니다. AT=[−c1−⋮−cn−] 둘을 곱해봅시다. $ A^{T}A=\begin{bmatrix} - & c_{1} & - \\ & \vdots & \\ - & c_{n} & - \\ \end{bmatrix} \begin{bmatrix} | & & | \\ c_{1} & \cdots & c_{n} \\ | .. 2024. 10. 8. [유한요소법] 2D 트러스 요소 자세한 설명 2D Truss 요소는 1차원 bar element 를 연결해서 만든 구조물입니다. 1. Truss 구조물을 푸는 목적과 방법아래와 같은 Truss 구조물이 있습니다. 각 부재의 길이, 물성, 단면 면적은 L1, L2, E, A 로 주어져 있습니다. 길이만 다르고 물성과 단면의 넓이는 같습니다. 우리가 구하고 싶은 것이 무엇인지 먼저 이야기해 봅시다. 아래와 같습니다. "각 node 의 변위와 각 element에 작용하는 하중" 우리가 알고 있는 정보가 무엇인지 생각해봅시다. 우리는 아래 값들을 알고 있습니다. "노드 1과 3에서의 변위가 0이다""노두 2에는 x방향으로 2P, y방향으로 -P 만큼의 힘이 작용한다" 식으로 표현하면 아래와 같습니다. u1=0$v_{.. 2024. 10. 8. [솔리드웍스] 매크로 버튼 밖으로 꺼내는 방법 1. [도구]-[사용자 정의] 클릭 2. 도구모음 탭에 있는 매크로에 체크 2024. 9. 10. [솔리드웍스] 도면 단면 영어로 보이게하기, 축척 숨기기 [옵션]-[문서속성] 으로 들어갑니다. 아래 표시된 부분을 바꿔주면 됩니다. 2024. 7. 9. [아바쿠스] node 좌표, 변위 텍스트로 출력하는 inp 명령어 *Output, history 밑에 아래 명령어 추가하면 됩니다. SUMMARY 를 NO로 해야 max, min 출력이 안됩니다. dat 파일 안에 출력됩니다. GLOBAL 은 좌표계, frequency는 큰 숫자로 해야 마지막 frame 이 출력됩니다. *NODE PRINT, nset=mynodeset, SUMMARY=NO, GLOBAL=YES, frequency=99999COORD, U 아래는 전체 코드 예시입니다. *****노드 생성*************************************************************node1,0,0,02,5,0,03,10,0,04,0,5,05,5,5,06,10,5,07,0,10,08,5,10,09,10,10,010,0,0,511,5,0,.. 2024. 6. 21. 솔리드웍스 도면에 연결된 3D 변경하기 1) 솔리드웍스 실행2) 파일-열기3) 도면 선택4) 참조 클릭5) 이름을 더블클릭하고 연결하고 싶은 3D 파일 선택 2024. 6. 21. [abaqus] 평균 응력 구하는 방법 (파이썬) 어떤 파트의 평균응력을 구해야 하는 경우 노드가 많아서 엑셀로 불러오기 어려운 경우가 있다. 이런 경우 파이썬을 이용해서 계산하면 된다. 파트의 응력을 내보내는 방법을 설명하겠다. [Report]-[Field outptut] 을 클릭하면 아래 화면이 뜬다. 원하는 물리량을 선택하고, position 을 선택한다. position 에 대한 설명은 아래와 같다 . 1) integration point : 적분점에서 결과 출력, node 와 다름 2) centroid : 엘리먼트 중심에서 결과 출력 3) element nodal : 모든 엘리먼트에 대해 노드 출력, 노드 중복됨 4) unique nodal : 노드 중복 없이 노드 결과 출력 Setup 탭을 클릭한다. 아래와 같이 체크 해재하고 저장하면 된.. 2024. 6. 14. [아바쿠스] field output 에서 integration point, centroid, element nodal, unique nodal 차이 1) integration point : 적분점에서 결과 출력, node 와 다름 2) centroid : 엘리먼트 중심에서 결과 출력 3) element nodal : 모든 엘리먼트에 대해 노드 출력, 노드 중복됨 4) unique nodal : 노드 중복 없이 노드 결과 출력 2024. 6. 12. [아바쿠스 inp] boundary condition 자유도 구속 및 변위설정 1) 1번부터 6번 자유도를 구속하는 방법입니다.노드번호, 1, 6 2) 특정 자유도를 구속하는 방법입니다.노드번호, 자유도숫자 ex) 100번노드 1자유도 구속100, 1 3) 변위를 설정하는 방법입니다.노드번호, 자유도숫자, 자유도숫자, 변위 ex) 100번노드 2자유도 변위 3 설정100, 2,2, 3 2024. 6. 12. [최적설계] compliant mechanism 이란? 순응 메커니즘은 부품의 탄성 변형을 통해 힘과 운동을 전달하는 기계 장치입니다. 전통적인 강체 메커니즘과 달리, 순응 메커니즘은 재료의 유연성을 활용하여 운동을 달성합니다. 이는 부품 수를 줄이고, 윤활이 필요 없으며, 단일 구조로 제작될 수 있다는 장점을 갖고 있습니다. 아래는 집개를 순응 메커니즘으로 설계한 예시입니다. 순응매커니즘은 MEMS(MicroElectoMechanical System)에서도 사용됩니다. MEMS에서는 작은 스케일을 다루기 때문에 윤활의 영향이 크므로, 윤활이 없는 순응메커니즘을 사용하는 것입니다. 순응메커니즘에서는 힘을가해 입력 변위(input displacement) 를 발생시키고 이에 따른 출력 변위(output displacement)가 발생하도록 합니다. 예를들.. 2024. 6. 10. [최적설계] SIMP 방법 (Solid Isotropic Material with Penalization method) 아래와 같은 물체가 있다고 합시다. 물체를 유한개의 요소로 나눈 상태입니다. 우리는 부피를 줄이고 싶은 상황입니다. 전체 부피의 50%만 사용할 것입니다. 위 요소의 절반만을 사용하여 좌측이 고정되고 우측 하단이 힘을 받는 구조물은 여러가지로 만들어 볼 수 있습니다. 구조물을 한가지로 결정짓기 위해 아래와 같은 목적을 설정하겠습니다. 목적 : compliance 를 최소화한다. compliance 는 아래와 같이 정의됩니다. c=∑Ne=1→uTek0ue 전체 부피의 50%만 남기면서 compliance 는 최소화 하는 방향으로 최적화를 진행해야합니다. 전체 부피의 50%만을 남기려면 50%의 element 가 제거되야 합니다. element 를 .. 2024. 6. 8. [최적설계] compliance 란? compliance 는 변형에너지에서 유도된 물리량입니다. 힘을 받는 구조물의 변형에너지는 아래와 같이 정의됩니다. Ustrain=12UTKU 요소표현으로 바꿔보면 아래와 같습니다. Ustrain=12∑Ne=1→uTek0ue ue는 각 요소의 절점 변위이고 k0는 강성행렬입니다. 한가지 재료로 구성된 물체라면 모든 요소의 k0는 같습니다. compliance 는 변형에너지를 두배 하여 정의합니다. 의미는 변형에너지와 같은데 계산에 불필요한 계수를 없앤 것입니다. C=UTKU compliance 의 의미를 생각해봅시다. compliance 가 작다는 것은 요소의.. 2024. 6. 8. [매트랩] 벡터 원소 오름차순 정렬하는 방법 벡터를 하나 생성합니다. v = [3, 1, 4, 1, 5, 9, 2, 6, 5];sort 함수를 사용하여 오름차순으로 정렬합니다. >> sort(v)ans = 1 1 2 3 4 5 5 6 9 2024. 5. 5. [매트랩] 홀수 번째 원소, 또는 짝수 번째 원소 추리는 법 벡터를 하나 생성합니다. vec = [1, 2, 3, 4, 5, 6, 7, 8, 9];1) 홀수 번째 원소 추출 odd_elements = vec(1:2:end);2) 짝수 번째 원소 추출 even_elements=vec(2:2:end) 2024. 5. 5. [매트랩] 여러 행렬을 원소로 갖는 자료구조 (셀 배열) 두개의 행렬을 생성합니다. a=[1,2 ; 3,4];b=[10,20 ; 30,40];배열을 정의하고 원소로 넣어줍니다. carr={a,b};배열 원소에 접근하는 방법은 아래와 같습니다. >> carr{1}ans = 1 2 3 4 2024. 5. 5. [매트랩] if문 예시 matlab if문 예시입니다. % 성적에 따른 학점score = 75;if score >= 90 grade = 'A';elseif score >= 80 grade = 'B';elseif score >= 70 grade = 'C';elseif score >= 60 grade = 'D';else grade = 'F';endfprintf('당신의 학점은 %s입니다.\n', grade); 2024. 5. 3. [유한요소법] 보간함수 (shape function) (2) 노드 4개 4개의 노드로 되어있는 요소의 좌측 하단 노드를 (x1,y1), 우측 하단 노드를 (x2,y2), 우측 상단 노드를 (x3,y3), 좌측 상단 노드를 (x4,y4) 라고 놓겠습니다. 각 노드의 변위는 (ui,vi) 입니다. 점이 4개이므로 평면으로는 보간할 수가 없습니다. 점 네개를 지나는 평면 비슷한걸 정의합시다. 이 평면을 보간함수로 사용할 것입니다. 함수값은 노드의 변위를 나타냅니다. u(x,y)=a+bx+cy+dxy 우리가 알고 있는 값과 변위를 대입하면 아래와 같이 네개의 방정식을 얻습니다. a+bx1+cy1+dx1y1=u1 $a+bx_{2}+cy_{2}+dx_{2}y_{2}=u_{2}.. 2024. 5. 1. [매트랩] 3차원 함수 그리는 방법 3차원 그래프를 그리는 예시는 아래와 같습니다. 함수 정의 부분에 원하는 함수를 넣으면 됩니다. % x와 y 값 범위 설정x = linspace(-5, 5, 100); % -5부터 5까지 100개의 점으로 이루어진 벡터 생성y = linspace(-5, 5, 100);[X, Y] = meshgrid(x, y); % x와 y 벡터로 그리드 생성% 함수 정의Z = X .* Y;% 3D 그래프 플로팅figure;surf(X, Y, Z); % 3D 표면 그래프 그리기xlabel('X');ylabel('Y');zlabel('Z = XY');title('3D 그래프: Z = XY'); 2024. 4. 29. [탄성학] 2. 응력, 응력변환, 주응력 힘을 받는 물체가 평형을 이루고 있다고 합시다. 이 물체의 단면을 자르면 단면에는 힘이 작용하고 있습니다. 단면에서 작은 요소 하나를 잡겠습니다. 넒이가 A인 요소입니다. 이 요소에도 힘이 작용하고 있습니다. 힘의 합력은 특정 방향으로 작용하고 있을텐데, 그 방향이 어떻든 간에 normal 방향과 shear 방향의 두 힘 성분으로 나타낼 수 있습니다. 만약 수직방향을 x축으로 하여 좌표계를 하나 잡는다고 하면, normal 방향 힘 하나와 shear 방향 힘 두개로 분해할 수 있습니다. (그림출처 Advanced Mechanics of Materials and Applied Elasticity) 이때 단면의 면적 A를 0으로 보내면 각 힘도 0이 됩니다. 그렇다면 A가 0으로 갈 때, $\frac{F.. 2024. 4. 26. [매트랩 기초] 여러 값을 반환하는 함수 만들기 여러 값을 반환하는 함수의 예시는 아래와 같습니다. function [a,b,c]=myfun(input1,input2)a=input1+input2;b=input1*input2;c=input1/input2;end[p,q,r]=myfun(1,2); 2024. 4. 25. [매트랩 기초] 인덱싱을 이용한 행렬(배열) 정의 인덱싱을 이용하여 아래와 같이 행렬을 정의할 수 있습니다. >> a(1:5,1:5)=1a = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1만약 a라는 행렬이 이미 있다면 1:5,1:5 에 해당되는 부분이 수정될 것입니다. 2024. 4. 25. [탄성학] Airy 응력함수 (Airy stress function) 1. 배경 탄성학에서 고체의 변형 문제를 풀기 위해서는 15개의 연립미분방정식을 풀어야 합니다. 15개의 방정식은 평형방정식 3개, 변형률-변위 관계식 6개, 응력-변형률 관계식 6개입니다. 미지의 변수는 응력 요소 6개, 변형률 6개, 변위 3개로 방정식의 수와 같습니다. 하지만 실제로 이 연립방정식을 푸는 것은 불가능합니다. 학자들은 문제를 단순화하기 위해 몇가지 가정을 추가하여 탄성론의 하위 카테고리들을 만들었습니다. 그 카테고리 중에 평면응력과 평면변형률도 있습니다. 평면응력과 평면변형률 가정을 하면 15개의 방정식은 아래와 같이 하나의 방정식으로 축약됩니다. $\left ( \frac{\partial^2}{\partial x^2}+\frac{\partial^2}{\partial y^2} \rig.. 2024. 4. 18. [탄성학] 평면응력문제와 평면변형률 문제의 적합방정식 평형방정식 3개, 변형률-변위 관계식 6개, 응력-변형률 관계식 6새로 총 15개의 방정식을 아래 방정식 하나로 축약할 수 있습니다. 축약 과정은 생략합니다. (∂2∂x2+∂2∂y2)(σx+σy)=−(1+ν)(∂fx∂x+∂fy∂y) $\left ( \frac{\partial^2}{\partial x^2}+\frac{\partial^2}{\partial y^2} \right .. 2024. 4. 14. [탄성학] 평면응력(plane stress)이란 무엇인가 평면 응력은 물체가 너무 얇아서 z 방향 응력이 무시할 수 있을 만큼 작은 상태를 말합니다. z방향 응력이 모두 0이 됩니다. σz=0 τzx=0 τzy=0 따라서 응력은 아래와 같이 평면에 작용하는 응력 셋만 남습니다. σx=0 σy=0 τxy=0 응력 변형률 관계 먼저 살펴봅시다 . 1) 응력-변형률 관계 εx=1E[σx−ν(σy+σz)] $\varepsilon _{y}=\frac{1}{E}\left [ \sigma_{y}-\nu (\sigma_{x}+\sigma_{z}) \right ].. 2024. 4. 14. [탄성학] 평면변형률(plane strain) 이란? z축 방향으로 무한히 긴 실린더가 있다고 합시다. 단면은 xy 평면입니다. 이 실린더 중간쯤에 어떤 점이 있다고 합시다. (x,y,z)라는 점입니다. 이 점의 변위를 u(x,y,z), v(x,y,z), w(x,y,z) 라고 합시다. z축 방향으로 무한히 길기 때문에 z축 방향의 변위가 없다고 가정할 수 있습니다. 따라서 w(x,y,z)=0이라고 가정할 수 있습니다. 또한 z 축 방향으로의 u, v 변화가 없다고 가정할 수 있습니다. - w(x,y,z)=0 - u(x,y,z), v(x,y,z)는 z축에 독립 1) 변위-변형률 관계 응력 변형률 관계에 위 가정을 대입해봅시다. 3차원에서의 응력 변형률 관계는 아래와 같습니다. $\varepsilon_{x}=\frac{\part.. 2024. 4. 8. [탄성학] 왜 수직변형률은 편미분으로 정의될까? 면저 1차원 물체부터 시작해봅시다. 아래와 같이 길이가 L선이 있습니다. 이 선이 힘을 받고 있습니다. 선은 변형이 될텐데, 선 위 각 지점에서의 변형을 u(x) 라고 정의하겠습니다. u(x)를 변형함수라고 부릅니다. 이 선 위에 한 점 x1 부터 x1+Δx1 사이의 평균변화율은 아래와 같이 정의됩니다. u(x1+Δx)−u(x)Δx x1 에서의 변화율은 아래와 같이 정의됩니다. $\varepsilon_{x}(x_{1})=\lim_{\Delta x \rightarrow 0}\frac{u(x_{1}+\Delta x)-u(x)}{\Delta x}= \left.\begin{matrix} \frac{du(x)}{dx} \en.. 2024. 4. 7. 이전 1 2 3 4 ··· 14 다음 반응형