파워쉘관련 http://talsu.net/
현제페이지가 한글이 아닐경우
chcp 949
글꼴바꾸기
1. windows + R
2. regedit
3. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
출처:http://stewie38.tistory.com/category/
스크립트를 실행할수있도록 설정하는 방법
출처:http://help.outlook.com/ko-KR/140/cc952756.aspx
2013년 12월 16일 월요일
2013년 12월 11일 수요일
2013년 11월 25일 월요일
C# 학습
배열
할당된 배열의 사이즈 변경
String [] arr = new String[10];
for(int i=0; i < 20; i++){
if(i == arr.Length) {
Array.Resize<String>(ref arr, arr.Length + 1);
arr[arr.Length - 1] = "값";
} else {
arr[i] = "값2";
}
2013년 11월 23일 토요일
도면과 리포트에서 플렛바 설정하기
특정규격의 플래이트를 도면과 리포트상에서 플랫바 규격으로 표기
http://teklastructures.support.tekla.com/190/en/sys_showing_plates_as_flat_bars
XS_USE_FLAT_DESIGNATION = TRUE.
XS_FLAT_PREFIX = FB
..\environments\your_environment\profil\Fltprops.inp 여기에
"재질" 6 8 9(두깨)
위와같은 규칙으로 작성후 프로젝트 폴더나 회사폴더에 넣는다.
http://teklastructures.support.tekla.com/190/en/sys_showing_plates_as_flat_bars
XS_USE_FLAT_DESIGNATION = TRUE.
XS_FLAT_PREFIX = FB
..\environments\your_environment\profil\Fltprops.inp 여기에
"재질" 6 8 9(두깨)
20 25 (너비)
위와같은 규칙으로 작성후 프로젝트 폴더나 회사폴더에 넣는다.
2013년 11월 19일 화요일
2013년 11월 5일 화요일
도면의 "EL"문자열 사용자화
Tekla Structures/<version>/messages/dim_operation.ail
dim_operation_dim_elevation_prefix EL을 교체
http://teklastructures.support.tekla.com/fi/171/en/dra_creating_elevation_dimensions
dim_operation_dim_elevation_prefix EL을 교체
http://teklastructures.support.tekla.com/fi/171/en/dra_creating_elevation_dimensions
2013년 11월 4일 월요일
tekla System parametric profiles
내경우 CHK'D PL의 프로파일을 쓰기위해서 필요했다.
profitab.inp
http://teklastructures.support.tekla.com/190/en/mod_catalogs_parametric_profiles
profitab.inp
http://teklastructures.support.tekla.com/190/en/mod_catalogs_parametric_profiles
tekla advanced Options
XS_ASSEMBLY_POSITION_NUMBER_FORMAT_STRING
=%%ASSEMBLY_PREFIX%%/%%ASSEMBLY_POS.3%%
도면의 출력이름설정 끝에 A는 ASSEMBLY
XS_DRAWING_PLOT_FILE_NAME_A
http://teklastructures.support.tekla.com/180/en/dra_print_file_name_format
XS_USE_LONG_POINTS_IN_DIMENSIONING
XS_USE_NEW_PLATE_DESIGNATION
TRUE로 설정하면, 폭이 길이보다 클 때에 폭과 길이의 값이 자동적으로 바뀝니다.
=%%ASSEMBLY_PREFIX%%/%%ASSEMBLY_POS.3%%
도면의 출력이름설정 끝에 A는 ASSEMBLY
XS_DRAWING_PLOT_FILE_NAME_A
http://teklastructures.support.tekla.com/180/en/dra_print_file_name_format
XS_USE_LONG_POINTS_IN_DIMENSIONING
XS_USE_NEW_PLATE_DESIGNATION
TRUE로 설정하면, 폭이 길이보다 클 때에 폭과 길이의 값이 자동적으로 바뀝니다.
2013년 10월 7일 월요일
2013년 9월 27일 금요일
tekla messge
-modifications made by multiple users have affected the same objects.
see conflict log for details-
멀티유져 모드에서 한객체를 중복으로 변경하였을경우에 뜨는거같음.
-view was associated to object that has been deleted form model-
GA도면 만들때 쓰던 그리드를 삭제했더니 GA도면의 뷰가 사라지면서 뜸.
결국 다시 만듬.
멀티유져 모드에서 한객체를 중복으로 변경하였을경우에 뜨는거같음.
-view was associated to object that has been deleted form model-
GA도면 만들때 쓰던 그리드를 삭제했더니 GA도면의 뷰가 사라지면서 뜸.
결국 다시 만듬.
2013년 7월 24일 수요일
2013년 7월 21일 일요일
c# oledb dbf
string filepath = @"c:\aaa;
string connstring =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties=dBASE IV;"
OleDbConnection conn = new OleDbConnection(connstring);
conn.Open();
using (OleDbCommand cmd = new OleDbCommand("SELECT * FROM PART.DBF", conn))
{
OleDbDataAdapter adpt = new OleDbDataAdapter(cmd);
DataTable dt = new DataTable();
adpt.Fill(dt);
dataGridView1.DataSource = dt;
}
dbf는 파일이 태이블이다.
string connstring =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties=dBASE IV;"
OleDbConnection conn = new OleDbConnection(connstring);
conn.Open();
using (OleDbCommand cmd = new OleDbCommand("SELECT * FROM PART.DBF", conn))
{
OleDbDataAdapter adpt = new OleDbDataAdapter(cmd);
DataTable dt = new DataTable();
adpt.Fill(dt);
dataGridView1.DataSource = dt;
}
dbf는 파일이 태이블이다.
tekla open API
다음은 api 를 간략하게나마 설명한 블로그이다.
http://www.cnblogs.com/radium/archive/2013/06/13/3134152.html
beam으로 좌표계
TransformationPlane myPlane = new TransformationPlane(myBeam.GetCoordinateSystem());
bool result = myModel.GetWorkPlaneHandler().SetCurrentTransformationPlane(myPlane);
global으로 좌표계
TransformationPlane myPlane = new TransformationPlane();
bool result = myModel.GetWorkPlaneHandler().SetCurrentTransformationPlane(myPlane);
beam으로 좌표계
TransformationPlane myPlane = new TransformationPlane(myBeam.GetCoordinateSystem());
bool result = myModel.GetWorkPlaneHandler().SetCurrentTransformationPlane(myPlane);
global으로 좌표계
TransformationPlane myPlane = new TransformationPlane();
bool result = myModel.GetWorkPlaneHandler().SetCurrentTransformationPlane(myPlane);
2013년 7월 19일 금요일
tekla file extensions
tekla 에는 수많은 확장자의 파일들이 존재하는데 다음사이트에 설명 되어았다.
tekla attributes file extensions(tekla page)
ad = 어셈블리 도면설정
gd = ga 도면설정
wd = single part drawing
apm = 어셈블리 드로잉 파트마크
gdp = 파트 설정
gpm = GA드로잉 파트마크
grd = grid
pm = 개별 파트마크
dim = 디멘션
drtxt = 드로일 text
Defaults.zxt = AutoDefaults rule set (그냥은 열어봐야 의미 없고 zxt.gz로 확장자 변경후 압출을 푼후 textedit로 보기 가능)
tekla attributes file extensions(tekla page)
ad = 어셈블리 도면설정
gd = ga 도면설정
wd = single part drawing
apm = 어셈블리 드로잉 파트마크
gdp = 파트 설정
gpm = GA드로잉 파트마크
grd = grid
pm = 개별 파트마크
dim = 디멘션
drtxt = 드로일 text
Defaults.zxt = AutoDefaults rule set (그냥은 열어봐야 의미 없고 zxt.gz로 확장자 변경후 압출을 푼후 textedit로 보기 가능)
2013년 7월 10일 수요일
2013년 7월 3일 수요일
auto lisp 문자열을 특정 구분자로 분리후 리스트로 반환
(defun string_split (string pattern / n value str char)
(setq n 1)
(setq value (list))
(setq str "")
(repeat (1+ (strlen string))
(setq char (substr string n 1))
(if (or
(= char pattern)
(> n (strlen string))
)
(progn
(setq value (append value (list str)))
(setq str "")
)
(setq str (strcat str char))
)
(setq n (1+ n))
)
value
)
(setq n 1)
(setq value (list))
(setq str "")
(repeat (1+ (strlen string))
(setq char (substr string n 1))
(if (or
(= char pattern)
(> n (strlen string))
)
(progn
(setq value (append value (list str)))
(setq str "")
)
(setq str (strcat str char))
)
(setq n (1+ n))
)
value
)
2013년 6월 24일 월요일
tekla template
문자열 제어
"(CAMBER은 ="+ 중간 ( GetValue를 ( "MAINPART.FINISH"), 발견 ( GetValue를 ( "MAINPART.FINISH") GetFieldFormula - 1, 2) ( "ValueField_1")) + ")"ValueField_1의 값은 "("
"("을 직접 대입했을 경우 구문 오류를 일으켜서 따로 vlauefield로 설정 후 대입해서 원하는 결과를 얻을수 있었다.
행 조건은
경우 ( 발견 ( GetValue를 ( "MAINPART.FINISH"), GetFieldFormula ( "ValueField_1")) ! = "-1")를 다음
출력 ()
그렇지 않으면
스텝 오버 ()
ENDIF
가 값을 차지 못하면 -1을 반환하는 듯해서 찾을 수 있습니다.
조립 위치 중 "P"글자의 위치를 알아 네고 0 위치부터 P의 앞에 앞에까지만 출력
숫자 인 뎃스주의.
미드 ( GetValue를 ( "ASSEMBLY_POSITION_CODE"), "0" 찾을 ( GetValue를 ) ( "ASSEMBLY_POSITION_CODE"), "P"-1)
PL4.5 * 200.5 * 1000 일 경우 PL4.5는 규격 (철판 두께)이므로 그데로 두면서 폭 200.5 만
소수점을 잘라야한다면.
mid(GetValue("PROFILE"),0,find(GetValue("PROFILE"),"*"))+mid(mid(GetValue("PROFILE"),find(GetValue("PROFILE"),"*"),length(GetValue("PROFILE"))),0,find(mid(GetValue("PROFILE"),find(GetValue("PROFILE"),"*"),length(GetValue("PROFILE"))),"."))
만약 중첩
if (a ==의 b) then와 B 형는 같다.
else
if(== ℃) then
와 C는 같다.
else
if (== d를) then
와 D는 같다.
else
if (== f를) then
와 F는 같다.
else
if (==를 들면) then
와 H는는 같다.
else
와 같은 것은 없다.
endif
endif
endif
endif
endif
별도의 문법은없고 (다른 안됨 안됨, SWICH는 경우) 그냥 겹쳐서 쓴다.
ISSET ()
/ / 속성이 값을 가지고 있는지를 확인/ / "USERDEFINED.comment"속성의 값이 있다면 행 출력
만약 ( ISSET ( "USERDEFINED.comment")) 다음
출력 ()
그렇지 않으면
스텝 오버 ()
ENDIF
날짜 형식
날짜 형식을 바꾸는 것은 아니고 문자열을 바꾸는 것http://teklastructures.support.tekla.com/190/en/rep_defining_own_date_format
P / P (포인트 간 거리)
부재의 시작점과 끝점 사이의 거리를 얻을수있다. SQRT (sqsum (
( GetValue를 ( "ASSEMBLY.MAINPART.END_X")
-GetValue를 ( "ASSEMBLY.MAINPART.START_X"))
( GetValue를 ( "ASSEMBLY.MAINPART.END_Y")
-GetValue를 ( "ASSEMBLY.MAINPART.START_Y"))
( GetValue를 ( "ASSEMBLY.MAINPART.END_Z")
- GetValue를 ( "ASSEMBLY.MAINPART.START_Z"))
)
)
출처는 T & P
리포트 작성 후 리포트 내용을 클릭 (선택)했을 때 모델이 하이라이트
리포트 작성시 "ID :"+ GetValue를 ( "ID") 를 행에 넣어 주면된다.
auto Lisp
오토 리습 객체 관련 함수
캐드 화면상에서 객체 선택을 요청하고 선택한 객체의 정보 (DXF 코드)를 커멘드 창에 출력한다.
( entget ( ssname ( ssget ) 0))
자동 리스프 중 빈번히 쓰이면서 유용한 함수들을 포함하는 예제 다.
선택한 객체의 DXF 코드 중 62 번의 값을 3으로 변경하는 함수 (색 변경)
( defun는의 colorchange ()
( setq sset ( ssget ))
( setq N 0)
( 반복 ( sslength의 sset)
( setq SNAME ( ssname의 sset의 N))
( setq의 ENT ( entget의 SNAME))
( entmod ( SUBST ( 죄수 62 3) ( ASSOC 62 ENT) ENT))
( setq의 N ( 1 + N))
)
( 공주 역 )
)
ssget
(setq 선택 세트 (ssget))선택을 요청한 후 저장
(선택 세트를 setq (ssget "P"))
전에 만들어진 선택을 설정 저장
(선택 세트를 setq (ssget "L"))
마지막으로 작성된 객체를에 설정 저장
(선택 세트를 setq (ssget "W"pointlist1의 pointlist2))
선택 윈도우
(선택 세트를 setq (ssget "F"pointlist1의 pointlist2))
팬스
(선택 세트를 setq (ssget "WP"pointlist1의 pointlist2))
다각형
(setq 선택 세트 (ssget "X"))
모든
(setq 선택 세트 (ssget "I"))
pickfirst 값이 활성 (1) 일 경우 해당 선택 후 명령
ssget 필터
(선택 세트 setq (ssget '((0. "텍스트"))))유저에 선택을 요청하며 텍스트 만 선택 할수 있음
(선택 세트 setq (ssget "P" '((0. "선"))))
에서 라인을 설정 이전 만
(선택 세트 setq (ssget "W"PT1의 PT2 '((8. "floor9"))))
포인트리스트 윈도우 선택 층 "floor9"
(선택 세트를 setq (ssget "X" '((0. "원"))))
도면에있는 모든 원 선택
(선택 세트를 setq (ssget "I" '((0. "라인") (62. 5))))
선택된 객체 중 색상이 5 (파랑) 값을 가지는 라인
ssget 관계 연산자 (관계 연산)
(ssget "X" '((0. "원") (-4. "> =") (40. 2)))정수, 실수, 포인트, 백터 (?)의 경우 관계 연산이가는하다.
ssget 논리 연산
(ssget "X" '((-4. "<OR")
(-4. "<AND") (0. "ciecle") (40. 1) (-4. "AND>")
(-4. "OR>")))
(setq <또는 '(-4. "<OR") or>'(-4."OR> "))
(ssget "X"(목록 '(0. "원") <or는 최고 기간 도중 '(40. 30) '(40. 90) or>))
필터리스트 표현주의
nentsel???
(setq 응답
(+; 추가
(* (자동차 (n 번째 0 매트릭스)) (CADR의 edata)), M00 * X
(* (자동차 (n 번째 1 매트릭스)) (caddr의 edata)), M10 * Y
(* (자동차 (n 번째 2 매트릭스)) (cadddr의 edata)), M20 * Z
(차 (n 번째 3 행렬)); M30
)
)
도를 라디안으로 변환
(defun는 학위 -> 라디안 (numberOfDegrees)(* PI (/ numberOfDegrees 180.0)))Converts dataType
(atof string) 문자열 -> 실수(atoi string) 문자열 -> 정수(itoa int) 정수 -> 문자열Converts unit
(cvunit value from-unit to-unit)Command: (cvunit 1 "minute" "second")60.0Command: (cvunit 1 "gallon" "furlong")nilCommand: (cvunit 1.0 "inch" "cm")2.54Command: (cvunit 1.0 "acre" "sq yard")4840.0Command: (cvunit '(1.0 2.5) "ft" "in")(12.0 30.0)Command: (cvunit '(1 2 3) "ft" "in")(12.0 24.0 36.0)
잘 안쓰는의 AutoLISP
(acad_colordlg colornum [flag] )
color선택 대화상자를 띄운다.
선택색상의 번호 리턴
colornum = 창이열렸을떼 기본값
flag = nil 일경우 byBlock, byLayer비할성화
(acad_strlsort list)
알파벳순으로 정렬
(grdraw from to color [highlight])
두점을 연결하는 백터를 그린다.
라인이아님.
(grvecs vlist [trans])
grdraw와 비슷.
2013년 6월 23일 일요일
visual lisp
autocad에는 autoLisp을 개발하는데 유용한 에디터를 제공한다.
command창에 vlide혹은 vlisp를 치면 visual lisp에디터가 실행된다.
visual lisp은 세로운 언어가 아니라 autoLisp에서 cad의 객체를 다루는 함수가추가되
일종의 라이브러리라고 봐도 될까 싶다.
다음은 auto Lisp과 visual Lisp이 잘정리 되어있는 사이트다.
AfraLISP
찌릭의 네이버 블로그
AfraLISP의 내용을 옮긴다.
visual lisp 을 쓰기위해선 함수를 로드해야하는것같다.
(vl-load-com)
cad 어플리캐이션오브젝트를 가져온다.
(setq acadObject(vlax-get-acad-object))
cad오브젝트에서 Perferences(환경설정)속성을 가저온다.
(setq prefsObject(vlax-get-property acadObject 'Preferences))
환경설정에서 파일속성을 가져온다.
(setq tabnameObject(vlax-get-property prefsObject 'Files))
작업지원경로(SupportPath)를 가져온다.
(setq thePath(vlax-get-property tabnameObject 'SupportPath))
작업지원경로문자열에 temp경로를 추가한다.
- strcat은 문자열 인수들을 합쳐서 하나의 문자열로 만든다.
(setq thePath(strcat thePath ";" "c:\\TEMP"))
작업지원 경로를 추가한다.
(vlax-put-property tabnameObject 'SupportPath thePath)
vla는 기존의 entity를다룰경우
vlax는 object를 다룰 경우인것 같다.(아마도)
함수이름은 대부분 내용을 알수있을 법하게 직관적으로 작성되어있다.그나마 외우는부담이 좀 적다만...
visual Lisp가 auto Lisp보다 우월하거나 한것이 아니다.
서로 상충되며 각각의 쓰임에 맞게 쓸수있도록 해야겟다.
피드 구독하기:
글
(
Atom
)