비밀번호를 잊으셨나요?

비밀번호를 잊으셨나요? 비밀번호를 재설정하려면 이메일 주소를 입력해주세요.

계정이 있나요? 로그인

You must login to ask a question.

비밀번호를 잊으셨나요?

아직 계정이 없으신가요? 회원가입 하기

해당 질문을 신고하는 이유를 간단히 입력해주세요.

해당 답변을 신고하는 이유를 간단히 입력해주세요.

해당 유저를 신고하는 이유를 간단히 입력해주세요.

로그인회원가입

고캐드 – 캐드(CAD) 정보의 중심

고캐드 – 캐드(CAD) 정보의 중심 Logo 고캐드 – 캐드(CAD) 정보의 중심 Logo

고캐드 – 캐드(CAD) 정보의 중심 Navigation

  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
검색
질문하기

Mobile menu

닫기
질문하기
  • 홈
  • 카테고리
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 투표
  • 커뮤니티 그룹
  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
홈/ 질문/Q 103189
다음
진행 중
Lv.0
등록일: 2015-01-152015-01-15T17:36:09+09:00 2015-01-15T17:36:09+09:00카테고리: AutoCAD & CADian

lisp코딩 질문입니다

필요한 곳이 있어서 만든 리습 입니다.
적용 예는 a102b31라는 text에서 제일 마지막 두자리를 제가 원하는 값[ex)10] 으로 바꾸고 곧바로 다음 객체 선택시 처음 입력한 값에  +1 씩[(11이 되겠죠?)]  계속 진행되는 리습입니다.
한가지 기능을 더 추가하고 싶은데 도무지 모르겠네요

만약 a102b31 을 제가 a102b10로  수정하고 리습명령을 종료한후에 다시 명령을 실행했을때
저 10라는 값이 그대로 남아 객체 선택시 a102b11으로 나타났으면 합니다..
고수님들의 도움이 필요해요..



(defun c:textlist1 ()
(setq change (getstring “대체 값”))
  (setq change1 (atoi change))
  (while (> 10000 change1)
  (setq se (ssget)) ;객체 선택
  (setq ss (cdr (setq sss(assoc 1 (setq ssss (entget (ssname se 0))))))) ;ss(최종 text) sss(1. text) ssss(객체엔티티)
  (setq count (strlen ss)) ; repeat 횟수를 text글자수 만큼 지정


  (setq step 1)
  (setq head “” tail “” return nil) ; head 리스트 앞부분 tail 리스트 뒷부분
  (setq b “b”) ;리스트 나누기 위한 변수 (수정 필요)
 



  (repeat count
    (if (< 47 (ascii (setq return (substr ss step 1))) 58) ;if문 조건 (아스키코드 사용 47~58사이 즉 0~9 사이 숫자가 맞으면 true)
      (setq tail (strcat tail return)) ;true실행문 (숫자를 tail 리스트 함에 넣는다)


      (if (= return b) ;if문 nil 값나올경우 실행  (text탐색중 b가 나오면 true)
        (progn
 (setq head (list head) tail (list tail))
 (setq list1 (append head tail))
 (setq head “” tail “”)
 (setq head (strcat head return))
 ) ;true 실행문
 (setq head (strcat head return))) ;nil 실행문
      ) ;if문 끝
 


    (setq step (1+ step))
    ) ;repeat 끝


  (setq head (list head) tail (list tail))
  (setq list2 (append head tail))
 
  (setq list1 (list list1) list2 (list list2))
  (setq listall (append list1 list2))


  (setq final (cadr(nth 1 listall)))


 


 
  (setq final (itoa change1))
 
  (setq list1a (car (car list1))
        list1b (cadr (car list1))
        list2a (car (car list2))
        list2b (cadr (car list2)))
  (setq newlist (strcat list1a list1b list2a final))
  (setq ssss (subst (cons 1 newlist) sss ssss)) ;ss(최종 text) sss(1. text) ssss(객체엔티티)
  (entmod ssss)
  (setq change1 (1+ change1)))


  (princ))

  • 0
  • 9 9 답변
  • 21 조회
공유
  • Facebook

    관련 있는 질문들

    • FAQ 51을 참조 하라는데 FAQ가 어디에 있나요??
    • jsk.shx 파일 받을 부탁드립니다 ㅠ
    • 오토캐드 마지막 화면으로 실행 안됨
    • 오토캐드 마지막 화면으로 실행 안됨

    9 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. 수야12 Lv.21
      2015-01-15T22:22:59+09:00답변 등록 답변 등록 일시 2015-01-15 10:22 pm

      ^^;;  제가 새로 넣은 변수중 @change  빼고 전부 지역변수로 설정하시는 습관을… 

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    3. [Deleted User]
      2015-01-16T08:44:14+09:00답변 등록 답변 등록 일시 2015-01-16 8:44 am

      너무 감사합니다 수야님 ㅜㅜ
      리습관련 책이 한권 있긴한데 그쪽에는 지역변수랑 광역변수에 관한 설명이 없네요..
      단순히 지역변수 설정시 메모리를 덜 잡아먹고 뭐.. 이런 차이점 말고 꼭 써야하는 이유같은게 있나요 ??
      궁금해서 또 여쭤봅니다.. ㅎㅎ

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    4. [Deleted User]
      2015-01-16T09:07:14+09:00답변 등록 답변 등록 일시 2015-01-16 9:07 am

      한가지만더요!!
      eq함수는 어떤 기능을 하는 함수인가요??

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    5. 수야12 Lv.21
      2015-01-16T10:18:07+09:00답변 등록 답변 등록 일시 2015-01-16 10:18 am

      설명서에 이렇게 나와 있네요 
      eq 두 표현식이 동일한지 결정합니다.
      (eq expr1 expr2)

      지역변수 사용 제일 중요한 이유는 나중에 사용리습이 많아지면 같은 이름의 변수끼리 충돌하여 엉뚱한 값을 반환 하겠죠 ^^;;

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    6. [Deleted User]
      2015-01-16T11:33:05+09:00답변 등록 답변 등록 일시 2015-01-16 11:33 am

      수야님 감사합니다 ^^
      정말 답답했었거든요 물어볼곳이 없어서.. ㅠㅠ
      덕분에 또 새로운것들을 배워가네요 ^^

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    7. [Deleted User]
      2015-01-16T11:35:49+09:00답변 등록 답변 등록 일시 2015-01-16 11:35 am

      정~~ 말 .. 죄송한데 .. 코딩된거를 보다보니 .. 또 의문이 생기네요,,,
      처음에는 @change 에서 @가 그냥 아무 기능이 없는 문자인줄 알았는데
      추가된 것들을 로드 해보다보니
      이게 또 어떤 기능이 있는 기호인가 보네요 ..
      역시나 또 아무곳에도 나와있지를 않아서 또 여쭤봅니다

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    8. 수야12 Lv.21
      2015-01-16T16:18:54+09:00답변 등록 답변 등록 일시 2015-01-16 4:18 pm

      별 의미는 없습니다 흔히 암호 설정할때 특수문자 사용하듯 전 전역변수에는 충돌을 피하기 위해 보통 사람들이 잘 사용하지 않는 특수문을 넣어요 그래야 리습이 많아져 전역변수가 여러개라도 충돌할 가능성이 적어 지겠죠 ^^;; 

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    9. [Deleted User]
      2015-01-17T20:55:13+09:00답변 등록 답변 등록 일시 2015-01-17 8:55 pm

      eq랑 =랑 같습니다

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    10. [Deleted User]
      2015-01-19T08:31:29+09:00답변 등록 답변 등록 일시 2015-01-19 8:31 am

      뭐하남 ,수야12 님
      감사합니다~~^^
      리습은 정말 어렵네요… 허허허ㅓ…

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter

    Sidebar

    질문하기
    공지사항

    • AI CAD의 미래! 캐디안 2025 1+1 프로모션 안내 2025-05-14

    Adv 234x60

    aalan

    Adv 234x60

    aalan

    Adv 120x600

    aalan

    Explore

    • 홈
    • 카테고리
      • AutoCAD & CADian
      • Inventor & Solidworks
      • Revit & ArchiCAD
      • 자유질문
      • 기타
    • 투표
    • 커뮤니티 그룹
    aalan

    Footer

    Support

    • 회사 및 서비스 소개
    • 자주 묻는 질문
    • 문의하기

    Guide

    • 제휴/협업 안내
    • 광고 서비스 안내

    Policy

    • 서비스 이용약관
    • 개인정보 처리방침
    • 광고성 정보 수신 동의

    Contents

    • 고밍스토리
    • 리습 시리즈

    정소프트 | 사업자등록번호 : 677-40-00198 | 대표 : 정은숙 | 이메일 : gocad.manager@gmail.com
    주소 : 서울특별시 강서구 양천로 400-12, 6층 614,615,617호(등촌동, 더리브골드타워)
    Copyright. 2012-2024 GOCAD All rights reserved