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.0
Command: (cvunit 1 "gallon" "furlong")
nil
Command: (cvunit 1.0 "inch" "cm")
2.54
Command: (cvunit 1.0 "acre" "sq yard")
4840.0
Command: (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보다 우월하거나 한것이 아니다.
서로 상충되며 각각의 쓰임에 맞게 쓸수있도록 해야겟다.



2012년 12월 26일 수요일

html tag


google go!

:a태그는 링크를 걸수있다.

:href속성은 주소를

:target속성의 값을 _blank로주면 새창으로 열수있다.

바로가기는 어디?
:abbr태그는 글자에 마우스를 가져다데면 설명을 볼수있는 기능

2012년 9월 18일 화요일

select의 요소


use tempdb

--태이블생성
create table dbo.customers
(
Num int identity(1,1) primary key,
Name varchar(25) not null,
Age tinyint null,
Address varchar(100)
)
go

--샘플 데이터 입력
insert customers values('태연',21,'서울')
insert customers values('설리',19,'서울')
insert customers values('수지',19,'인천')
insert customers values('나은',18,'대전')
insert customers values('리지',20,'서울')
insert customers values('지효',31,'부산')
insert customers values('보라',31,'부산')
insert customers values('보미',20,'광주')
go


update customers
set Address= '부산'
where  name='태연'



select * from customers
go
--1.중복제거(distinct)
select distinct address from customers
--2.집계함수 그룹화: 같은 지역 고객의 나이의 평균
select address, AVG(age) from customers
group by address

--3.조건이 있는 집계함수 그룹화: 같은지역 아이돌중 나이가 20이상인
-- 아이돌나이의 평균
select address,AVG(age) from customers
where age >= 20
group by address

select address,AVG(age) from customers
where age >= 20
group by all address

--4.having:집계함수에 대한 조건처리
--같은 지역 아이돌의 나이의 평균이 20 이상인 데이터만 출력

select address,AVG(age) from customers
group by address
having AVG(age) >= 30

--5.rollup:소계: 지역별 나이들 출력후 나의 소계(중간 합계)
select address,AVG(age) from customers
group by address with rollup

--6.cube
select address,AVG(age) from customers
group by address with cube

--7.grouping()함수
--
select address,AVG(age),GROUPING(address) as 그룹화여부
from customers
group by address with cube

--8.compute :출력 결과에 대한 집계
select address, age
from customers
compute sum(age),avg(age)

--9.compute by :출력 결과에 대한 집계에 대한 정렬
select address, age
from customers
order by address
compute sum(age),avg(age) by address

--10.case:문장대체
select name, age,
address = case address when '서울' then 'seoul'
when '부산' then 'busan'
else '다른지역'
end
from customers

2012년 9월 3일 월요일

외부스타일시트를 쓸때


<link
rel="stylesheet"
type="text/css"
href="./common/global.css"
>
외부스타일시트를 쓸때

CSS 속성

이미지
float :이미지 옆에 문자를 배치하도록한다.(left,right,none)
clear:이미지 옆에 문자를 오지 못하게(left,right,both)




color :글자색
font-size :크기
font-family :글꼴
font-weight :<h>
font-style :<i>
line-height :줄간격
text-decoration : 밑줄,취소선,윗줄
text-align :수평정렬
vertical-align :수직정렬
text-transform :첫자 대문자,모두 대문자,모두 소문자.
text-indent :들여쓰기
width :가로(모든객체)
heigth :세로(모든객체)
padding :안쪽여백
margin :바깥쪽여백
letter-spacing :문자간격
word-spacing :단어간격
border :테두리(color,width,style)
background-color :배경색
background-image:url() :배경이미지
background-repeat :배경 이미지의 반복여부
background-position :배경 이미지의 위치
background-attachment :배경이미지 고정여부
cursor :커서모양
a:link :기본링크
a:visited :방문한 링크
a:active :활성된링크
a:hover :마우스를 위에 올려놓을때
scrollbar :스크롤바모양
list-style-type :리스트모양
float :이미지와 택스트간의 배치설정
clear :이미지와 택스트간의 배치성정 해제