Lv.0 등록일: 2017-07-192017-07-19T00:24:20+09:00 2017-07-19T00:24:20+09:00카테고리: AutoCAD & CADian 문자열 관련 리습 질문드립니다. 정말 필요한 리습인대 제 머리로는 도저히 안되서 염치없지만 부탁드립니다. 왼쪽에 A_B*C=D% 문자열을 선택하여 오른쪽 처럼 배열을 하려 합니다.리습으로 가능은한가요? 공유 Facebook 관련 있는 질문들 캐디안으로 도면을 열때 한글이 ???로 표시되는 문제 CADian Lisp 캐디안에서 렌더링 기능이 지원되나요? 동적블록 신축에서 길이를 늘릴때 최종 길이를 입력 또는 늘려야 하는 차이만큼의 길이를 입력 3 답변 작성 순 최신 순 공감 순 수야12 Lv.21 2017-07-19T12:19:13+09:00답변 등록 답변 등록 일시 2017-07-19 12:19 pm 앞뒤 다 짜르고 결론만 말한다면 가능합니다 리습으로 짜려면 뭔가 명확한 조건이 있어야 하는데 올리신 사진에서는 조건을 발견 할수가 없네요 abcd 인데 결과물은 abd [Deleted User] 2017-07-19T16:20:51+09:00답변 등록 답변 등록 일시 2017-07-19 4:20 pm 원하는 결과 값이 A,B,D 입니다. A_B*C=D% 에서 필요한 결과는 1:A A의 조건은 _ 앞에 위치하는 문자2:B B의 조건은 _ 와 * 사이에 위치하는 문자3:D D의 조건은 = 과 % 사이에 위치하는 문자 입니다. ( C는 결과값이 필요가 없습니다. ) 수야12 Lv.21 2017-07-21T18:21:25+09:00답변 등록 답변 등록 일시 2017-07-21 6:21 pm (defun c:ff(/ ks_MakeText txh e p1 str pos i a) (defun ks_MakeText (p str txh) (entmake (list (cons 0 “TEXT”) (cons 1 str) (cons 10 p) (cons 11 p) (cons 40 txh) (cons 50 0.0) (cons 72 0) (cons 73 1) ) ) ) (setq txh(getvar ‘textsize)) (setq e(car(entsel “nChoose text:”))) (setq p1(getpoint “nPick text point:”)) (setq txL ‘(“_” “*” “=” “%”)) (setq str(cdr(assoc 1(entget e)))) (setq i 1) (mapcar ‘(lambda (a) (setq pos (vl-string-position (ascii a)str)) (cond ((= i 1) (setq a(strcat (itoa i) “:”(substr str 1 pos))) (setq str(substr str (+ 1 pos))) (ks_MakeText p1 a txh) (setq i(1+ i)) ) ((= i 3) (setq str(substr str (+ 1 pos)))(setq i(1- i))) (t (setq a(strcat (itoa i) “:”(substr str 2 (1- pos)))) (setq str(substr str (+ 1 pos))) (setq p1(list (car p1)(-(cadr p1)(* 1.5 txh)))) (ks_MakeText p1 a txh) (setq i(1+ i)) ) ) ) txL ) (princ) ) (vl-load-com)
앞뒤 다 짜르고 결론만 말한다면 가능합니다
원하는 결과 값이 A,B,D 입니다.
A_B*C=D% 에서
필요한 결과는
1:A A의 조건은 _ 앞에 위치하는 문자
2:B B의 조건은 _ 와 * 사이에 위치하는 문자
3:D D의 조건은 = 과 % 사이에 위치하는 문자
입니다. ( C는 결과값이 필요가 없습니다. )