고수님들 다음 리스프 좀 봐 주세요.
자세한 설명은 리스프 밑에 있습니다.
(DEFUN C:WW (); (/ AA BB D A B C DD T TT TTT)
(SETVAR “CMDECHO” 0)
(SETQ AA (SSGET ‘((0 . “TEXT”))))
(SETQ BB (SSLENGTH AA))
(SETQ D 1)
(WHILE (/= 0 BB)
(SETQ BB (- BB 1))
(SETQ A (SSNAME AA BB))
(SETQ B (ENTGET A))
(SETQ C (ATOF (CDR (ASSOC 1 B))))
(SETQ D (* D C))
) ;; while
(setq d (* d 0.00000785))
(SETQ DD (RTOS D 2 1))
(SETQ T (ENTSEL “nSELECT MULTIPLICATION TEXT? 숫자를 선택해 주세요?”))
(SETQ TT (ENTGET (CAR T)))
(SETQ TTT (ASSOC 1 TT))
(ENTMOD (SUBST (CONS 1 DD) TTT TT))
(PRINC))
제가 도움을 받아서 만든것입니다. 중량을 구하는 것인데요
예를 들어서 캐드도면에서 아래와 같은 표가 있다면
| PL 12 x 2500 | 5000 | 2 | 2355.0 |
|——————–|————|——|————|
| PL 12 x 4000 | 7000 | 3 | 7912.8 |
위의 명령어를 사용해서 숫자를 12와 2500와 5000 을 선택해서 1177.5 자리의
아무른 숫자에 클릭하면 1177.5 라는 중량이 찍힙니다.
이것은 PL과 12와 x와 2500와 2와 5000 이 각각의 객체일때만 찍힙니다.
그런데 만들고 싶은것은
PL 12 x 2500 이 하나의 객체이며 5000 도 하나의 객체, 2 도 하나의 객체일때
는 명령어에 에러가 납니다. 왜냐하면 PL 12 x 2500 이란것을 숫자로 읽지
못하기 때문입니다.
이렇게
PL 12 x 2500 이 하나의 객체이며 5000 도 하나의 객체, 2 도 하나의 객체일때,
중량을 구할 수도 있도록 만들려고 합니다.
고수님들 참고로 보시고, 도움을 주셨으면 복 많이 받을 것입니다.
감사합니다.
->
강나루님의 글
————————————
고수님들 다음 리스프 좀 봐 주세요.
자세한 설명은 리스프 밑에 있습니다.
(DEFUN C:WW (); (/ AA BB D A B C DD T TT TTT)
(SETVAR "CMDECHO" 0)
(SETQ AA (SSGET "((0 . "TEXT"))))
(SETQ BB (SSLENGTH AA))
(SETQ D 1)
(WHILE (/= 0 BB)
(SETQ BB (- BB 1))
(SETQ A (SSNAME AA BB))
(SETQ B (ENTGET A))
(SETQ C (ATOF (CDR (ASSOC 1 B))))
(SETQ D (* D C))
) ;; while
(setq d (* d 0.00000785))
(SETQ DD (RTOS D 2 1))
(SETQ T (ENTSEL "nSELECT MULTIPLICATION TEXT? 숫자를 선택해 주세요?"))
(SETQ TT (ENTGET (CAR T)))
(SETQ TTT (ASSOC 1 TT))
(ENTMOD (SUBST (CONS 1 DD) TTT TT))
(PRINC))
———————————————–
님께서 올려주신 리습 프로그램 한번 검토해봤음다…
처음 각기 떨어진 객체의 텍스트을을 선택하고 그다음
SELECT MULTIPLICATION TEXT? 숫자를 선택해 주세요?==> 이때 아무 글씨나
선택하면…. 나중에 선택한값이 자동으로 계산되서 나오는 프로그램이네여
만약에 내가 4개의 텍스트를 먼저 선택하고 마지막에 한개의 텍스트를 선택했다면
처음 4개의 텍스트를 다 곱한다음 그값을 다쉬 0.00000785 값으로
곱해서 중량을 얻어내는 프로그램인것 같네여
님께서 원하시는 프로그램을 짜 드릴수는 있지만 먼저 그 파일의 샘플
데이타가 필요할꺼 같네여…
| PL 12 x 2500 | 5000 | 2 | 2355.0 |
|——————–|————|——|————|
| PL 12 x 4000 | 7000 | 3 | 7912.8 |
왜냐면 님께서 말씀하신 경우가
PL 12 x 2500 5000 이 글씨가 한텍스트로 되어있다는이야기인것 같은데
원하시는 프로그램을 짤려면 이 텍스트의 공백칸수를 쫌 알아야 되거든여.
물론 정말 고수인사람들은 고거 몰라도 짤수있겠지만,,,아직전,,
샘플데이타 올려주시면 시간나는데로 짜 올려드리겠음다…꾸벅