Đến nội dung


Hình ảnh

nhờ chỉnh sửa lisp phân biệt (tab) và (cách) trong text


  • Please log in to reply
13 replies to this topic

#1 xuanduc1031

xuanduc1031

    biết zoom

  • Members
  • Pip
  • 17 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 10 December 2014 - 07:52 AM

chào mọi người, mình vừa sưu tầm được 1 lisp cũng tương đối theo đúng ý mình,nhưng lại không phân biệt được bảng exced có dấu "tab" và dấu cách, giờ mình muốn lisp đó phân biệt được thì làm thế nào? nhờ mọi người giúp với

http://www.cadviet.c...9_pgload123.lsp

file txt của mình là đây

http://www.cadviet.c...31349_dc_13.txt

còn về cad thì chỉ cần 1 số là trùng với số thứ tự đầu tiên là nó chạy

cảm ơn mọi người nhiều!


  • 0

#2 trinhhoanghieu090

trinhhoanghieu090

    Edu level: li8

  • Members
  • PipPipPipPipPip
  • 309 Bài viết
Điểm đánh giá: 29 (tàm tạm)

Đã gửi 10 December 2014 - 08:51 AM

Bạn ơi up lại file lisp đi, cái link trên không down được, bạn có thể up code vào dấu  < > bên dưới mặt cười màu vàng ấy nhé, không thì ai biết đường nào mà giúp

133631_untitled.jpg


  • 0

#3 xuanduc1031

xuanduc1031

    biết zoom

  • Members
  • Pip
  • 17 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 10 December 2014 - 11:14 AM

;                                        DANG XUAN DUC - TEL: 0987987785 
;                      ch­¬ng tr×nh xuÊt tõ exed sang cad, hæ trî phiªn b¶n Autocad r14
;=================================================================
(defun c:gload123( / tl ent i n mangthuc ents ten x y fin f mang tt_chu tct dt dt1
 dt2 dt3 dt4 dt5 dt6 dt7 dt8 dt9 dt10 dt11 dt12 dt13 dt14 dt15 dt16 dt17 dt18 dt19
 lrd ptct tam xl xr xlrd ylrd ytt_chu xtct xdt xdt1 xdt2 xdt3 xdt4 xdt5 xdt6 
xdt7 xdt8 xdt9 xdt10 xdt11 xdt12 xdt13 xdt14 xdt15 xdt16 xdt17 xdt18 xdt19
 ytct ydt ydt1 ydt2 ydt3 ydt4 ydt5 ydt6 ydt7 ydt8 ydt9 ydt10 ydt11 
ydt12 ydt13 ydt14 ydt15 ydt16 ydt17 ydt18 ydt19 tcttxt )

(command "layer" "N" "tct-11" "c" "cyan" "tct-11" "")
(command "layer" "N" "cen-11" "c" "white" "cen-11" "")
                                                                         (command "layer" "lock" "tct" "")
   (command "osnap" "none")
   (setq tbl(tblsearch "layer" "LRD-11"))
   (if(= tbl nil)(command "layer" "N" "lrd-11" "c" "green" "lrd-11" ""))
   (setq tbl(tblsearch "layer" "dt-11"))
   (if(= tbl nil)(command "layer" "N" "dt-11" "c" "white" "dt-11" ""))
      (setq tbl(tblsearch "layer" "dt-111"))
   (if(= tbl nil)(command "layer" "N" "dt-111" "c" "white" "dt-111" ""))
      (setq tbl(tblsearch "layer" "dt-112"))
   (if(= tbl nil)(command "layer" "N" "dt-112" "c" "white" "dt-112" ""))
      (setq tbl(tblsearch "layer" "dt-113"))
   (if(= tbl nil)(command "layer" "N" "dt-113" "c" "white" "dt-113" ""))
      (setq tbl(tblsearch "layer" "dt-114"))
   (if(= tbl nil)(command "layer" "N" "dt-114" "c" "white" "dt-114" ""))
      (setq tbl(tblsearch "layer" "dt-115"))
   (if(= tbl nil)(command "layer" "N" "dt-115" "c" "red" "dt-115" ""))
      (setq tbl(tblsearch "layer" "dt-116"))
   (if(= tbl nil)(command "layer" "N" "dt-116" "c" "red" "dt-116" ""))
      (setq tbl(tblsearch "layer" "dt-117"))
   (if(= tbl nil)(command "layer" "N" "dt-117" "c" "red" "dt-117" ""))
      (setq tbl(tblsearch "layer" "dt-118"))
   (if(= tbl nil)(command "layer" "N" "dt-118" "c" "red" "dt-118" ""))
      (setq tbl(tblsearch "layer" "dt-119"))
   (if(= tbl nil)(command "layer" "N" "dt-119" "c" "red" "dt-119" ""))
      (setq tbl(tblsearch "layer" "dt-1110"))
   (if(= tbl nil)(command "layer" "N" "dt-1110" "c" "red" "dt-1110" ""))
      (setq tbl(tblsearch "layer" "dt-1111"))
   (if(= tbl nil)(command "layer" "N" "dt-1111" "c" "red" "dt-1111" ""))
      (setq tbl(tblsearch "layer" "dt-1112"))
   (if(= tbl nil)(command "layer" "N" "dt-1112" "c" "red" "dt-1112" ""))
      (setq tbl(tblsearch "layer" "dt-1113"))
   (if(= tbl nil)(command "layer" "N" "dt-1113" "c" "red" "dt-1113" ""))
      (setq tbl(tblsearch "layer" "dt-1114"))
   (if(= tbl nil)(command "layer" "N" "dt-1114" "c" "red" "dt-1114" ""))
      (setq tbl(tblsearch "layer" "dt-1115"))
   (if(= tbl nil)(command "layer" "N" "dt-1115" "c" "red" "dt-1115" ""))
      (setq tbl(tblsearch "layer" "dt-1116"))
   (if(= tbl nil)(command "layer" "N" "dt-1116" "c" "red" "dt-1116" ""))
      (setq tbl(tblsearch "layer" "dt-1117"))
   (if(= tbl nil)(command "layer" "N" "dt-1117" "c" "red" "dt-1117" ""))
      (setq tbl(tblsearch "layer" "dt-1118"))
   (if(= tbl nil)(command "layer" "N" "dt-1118" "c" "red" "dt-1118" ""))
      (setq tbl(tblsearch "layer" "dt-1119"))
   (if(= tbl nil)(command "layer" "N" "dt-1119" "c" "red" "dt-1119" ""))
   (setq tbl(tblsearch "layer" "tt_chu-11"))
   (if(= tbl nil)(command "layer" "N" "tt_chu-11" "c" "cyan" "tt_chu-11" ""))
   (setq tl(getvar "dimcen") p(list 10 10)) 
   (setq ent(ssget "X" (list (cons 8 "tct")(cons 0 "text"))))
   (if(= ent nil)(alert "b¹n ph¶i nhËp sè hå s¬ tr­íc khi load vµo th«ng tin vµo !!!"))
   (if(/= nil ent)
   (progn 
      (setq i 0 n(sslength ent) mangthua())
      (while (< i n)
         (setq ents(entget(ssname ent i)))
         (setq tcu(ATOI(cdr(assoc 1 ents))))
         (setq x(cadr (assoc 11 ents)) y(caddr (assoc 11 ents)))
         (setq y(- y tl))
         (setq mangthua(append mangthua (list (list tcu (list x y)))))
                     (setq caomoi(cons 40 (* tl 1.5)))
                     (setq ents(subst caomoi (assoc 40 ents) ents))
                     (entmod ents)
         (setq i(+ i 1))
      )
      (setq mang()) 
     (command "textstyle" "vntime") 
     (setq fin(getfiled " §Æng Xu©n §øc - TEL : 0987 987 785 " "*.xlw" "xlw" 12)) 
      (setq ftct (open fin "r"))
      (if  ftct 
         (progn
             (while (setq inrec(read-line ftct))
             (if (/= nil inrec)
             (progn
                 (arrayele inrec)
                 (if(/= nil $$$)
                    (progn 
                       (setq tct(atoi (nth 0 $$$))	tt_chu(nth 1 $$$)	dt(nth 2 $$$)	dt1(nth 3 $$$)	dt2(nth 4 $$$)	dt3(nth 5 $$$)	dt4(nth 6 $$$)	dt5(nth 7 $$$)	dt6(nth 8 $$$)	dt7(nth 9 $$$)	dt8(nth 10 $$$)	dt9(nth 11 $$$)	dt10(nth 12 $$$)	dt11(nth 13 $$$)	dt12(nth 14 $$$)	dt13(nth 15 $$$)	dt14(nth 16 $$$)	dt15(nth 17 $$$)	dt16(nth 18 $$$)	dt17(nth 19 $$$)	dt18(nth 20 $$$)	dt19(nth 21 $$$)	lrd(nth 22 $$$))
                       (if (= nil lrd)(setq lrd "&"))
                       (timtctSH tct)
                       (setq mang(append mang(list (list tct tt_chu dt dt1 dt2 dt3 dt4 dt5 dt6 dt7 dt8 dt9 dt10 dt11 dt12 dt13 dt14 dt15 dt16 dt17 dt18 dt19 lrd ptct))))
                    )
                 )     
             )))
         )
      )             
      (setq i 0 n(length mang) mangthua nil)
      (while (< i n)
          (setq tam(nth i mang))
          (setq tct(itoa (nth 0 tam))
 tt_chu(nth 1 tam) dt(nth 2 tam) dt1(nth 3 tam)	dt2(nth 4 tam)	dt3(nth 5 tam)	dt4(nth 6 tam)	dt5(nth 7 tam)	dt6(nth 8 tam)	dt7(nth 9 tam)	dt8(nth 10 tam)	dt9(nth 11 tam)	dt10(nth 12 tam)	dt11(nth 13 tam)	dt12(nth 14 tam)	dt13(nth 15 tam)	dt14(nth 16 tam)	dt15(nth 17 tam)	dt16(nth 18 tam)	dt17(nth 19 tam)	dt18(nth 20 tam)	dt19(nth 21 tam)	 lrd(nth 22 tam)	 p(nth 23 tam))
          (if (/= p nil)
          (progn
             (setq x(car p) y(cadr p))
            (setq xl(- x (* tl 20.2)) xr(+ x (* tl 20.0)) )
             (setq xlrd(- x (* tl 81.06)) ylrd(- y (* tl 15.00)))
             (setq ytct(- y (* tl 5.00)) ytt_chu(- y (* tl 15.00)))
                                     (setq xdt(- x (* tl 15.00)) ydt(- y (* tl 11.31)))
                                                            (setq xdt1(- x (* tl 121.06)) ydt1(- y (* tl 21.06)))
                                                            (setq xdt2(- x (* tl 5.00)) ydt2(- y (* tl 13.31)))
                                                            (setq xdt3(- x (* tl 15.00)) ydt3(- y (* tl 14.31)))
                                                            (setq xdt4(- x (* tl 16.00)) ydt4(- y (* tl 15.31)))
                                                            (setq xdt5(- x (* tl 18.00)) ydt5(- y (* tl 16.31)))
                                                            (setq xdt6(- x (* tl 35.00)) ydt6(- y (* tl 17.31)))
                                                            (setq xdt7(- x (* tl 65.00)) ydt7(- y (* tl 18.31)))
                                                            (setq xdt8(- x (* tl 25.00)) ydt8(- y (* tl 19.31)))
                                                            (setq xdt9(- x (* tl 36.00)) ydt9(- y (* tl 20.31)))
                                                            (setq xdt10(- x (* tl 45.00)) ydt10(- y (* tl 21.31)))
                                                            (setq xdt11(- x (* tl 157.00)) ydt11(- y (* tl 22.31)))
                                                            (setq xdt12(- x (* tl 12.00)) ydt12(- y (* tl 23.31)))
                                                            (setq xdt13(- x (* tl 234.00)) ydt13(- y (* tl 24.31)))
                                                            (setq xdt14(- x (* tl 543.00)) ydt14(- y (* tl 25.31)))
                                                            (setq xdt15(- x (* tl 76.00)) ydt15(- y (* tl 26.31)))
                                                            (setq xdt16(- x (* tl 89.00)) ydt16(- y (* tl 27.31)))
                                                            (setq xdt17(- x (* tl 198.00)) ydt17(- y (* tl 28.31)))
                                                            (setq xdt18(- x (* tl 654.00)) ydt18(- y (* tl 29.31)))
                                                            (setq xdt19(- x (* tl 23.00)) ydt19(- y (* tl 30.31)) )
   ;          (command "layer" "s" "cen-11" "")
    ;         (command "line" (list xl y) (list xr y) "")
             (command "layer" "s" "tct-11" "")
             (command "text" "j" "c" (list x ytct) (* tl 2.0) "0" tt_chu)
             (command "layer" "s" "dt-11" "")
             (command "text" "j" "tc" (list x ydt) (* tl 2.0) "0" dt)
			              (command "layer" "s" "dt-111" "")
             (command "text" "j" "tc" (list xdt1 ydt1) (* tl 2.0) "0" dt1)
			              (command "layer" "s" "dt-112" "")
             (command "text" "j" "tc" (list xdt2 ydt2) (* tl 2.0) "0" dt2)
			              (command "layer" "s" "dt-113" "")
             (command "text" "j" "tc" (list xdt3 ydt3) (* tl 2.0) "0" dt3)
			              (command "layer" "s" "dt-114" "")
             (command "text" "j" "tc" (list xdt4 ydt4) (* tl 2.0) "0" dt4)
			              (command "layer" "s" "dt-115" "")
             (command "text" "j" "tc" (list xdt5 ydt5) (* tl 2.0) "0" dt5)
			              (command "layer" "s" "dt-116" "")
             (command "text" "j" "tc" (list xdt6 ydt6) (* tl 2.0) "0" dt6)
			              (command "layer" "s" "dt-117" "")
             (command "text" "j" "tc" (list xdt7 ydt7) (* tl 2.0) "0" dt7)
			              (command "layer" "s" "dt-118" "")
             (command "text" "j" "tc" (list xdt8 ydt8) (* tl 2.0) "0" dt8)
			              (command "layer" "s" "dt-119" "")
             (command "text" "j" "tc" (list xdt9 ydt9) (* tl 2.0) "0" dt9)
			              (command "layer" "s" "dt-1110" "")
             (command "text" "j" "tc" (list xdt10 ydt10) (* tl 2.0) "0" dt10)
			              (command "layer" "s" "dt-1111" "")
             (command "text" "j" "tc" (list xdt11 ydt11) (* tl 2.0) "0" dt11)
			              (command "layer" "s" "dt-1112" "")
             (command "text" "j" "tc" (list xdt12 ydt12) (* tl 2.0) "0" dt12)
			              (command "layer" "s" "dt-1113" "")
             (command "text" "j" "tc" (list xdt13 ydt13) (* tl 2.0) "0" dt13)
			              (command "layer" "s" "dt-1114" "")
             (command "text" "j" "tc" (list xdt14 ydt14) (* tl 2.0) "0" dt14)
			              (command "layer" "s" "dt-1115" "")
             (command "text" "j" "tc" (list xdt15 ydt15) (* tl 2.0) "0" dt15)
			              (command "layer" "s" "dt-1116" "")
             (command "text" "j" "tc" (list xdt16 ydt16) (* tl 2.0) "0" dt16)
			              (command "layer" "s" "dt-1117" "")
             (command "text" "j" "tc" (list xdt17 ydt17) (* tl 2.0) "0" dt17)
			              (command "layer" "s" "dt-1118" "")
             (command "text" "j" "tc" (list xdt18 ydt18) (* tl 2.0) "0" dt18)
			              (command "layer" "s" "dt-1119" "")
             (command "text" "j" "tc" (list xdt19 ydt19) (* tl 2.0) "0" dt19)
			 
             (if (/= lrd "&")
                (progn
                    (command "layer" "s" "lrd-11" "")
                    (command "text" "j" "mc" (list xlrd ylrd) (* tl 1.8) "0" lrd)
            (command "layer" "Freeze" "tt_chu" "")
            (command "layer" "Freeze" "lrd" "")
            (command "layer" "Freeze" "tc1t" "")
            (command "layer" "Freeze" "to_bd" "")
            (command "layer" "Freeze" "thuatam" "")
            (command "layer" "Freeze" "dt" "")
            (command "layer" "Freeze" "cen" "")
            (command "layer" "Freeze" "sh_mia" "")
            (command "layer" "Freeze" "diem" "")
            (command "layer" "Freeze" "code" "")
                )
             )  
          ))
 
         (setq i(+ i 1))
      )
   )) ; if ent <> nil
 
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;------------------------------------------------------------------------------------------------------------------------------------------------

 


  • 0

#4 xuanduc1031

xuanduc1031

    biết zoom

  • Members
  • Pip
  • 17 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 10 December 2014 - 11:16 AM

đây bạn ạ, nhờ bạn giúp mình với tên cad chỉ cần tạo 1 số mang layer là tct là chạy


  • 0

#5 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 10 December 2014 - 12:06 PM

- Căng đó Hieu ^^


  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#6 trinhhoanghieu090

trinhhoanghieu090

    Edu level: li8

  • Members
  • PipPipPipPipPip
  • 309 Bài viết
Điểm đánh giá: 29 (tàm tạm)

Đã gửi 10 December 2014 - 12:16 PM

đây bạn ạ, nhờ bạn giúp mình với tên cad chỉ cần tạo 1 số mang layer là tct là chạy

Cái này mình chưa đủ nội lực để xem cho bạn rồi, chờ các bro vậy.


  • 0

#7 trinhhoanghieu090

trinhhoanghieu090

    Edu level: li8

  • Members
  • PipPipPipPipPip
  • 309 Bài viết
Điểm đánh giá: 29 (tàm tạm)

Đã gửi 10 December 2014 - 12:17 PM

- Căng đó Hieu ^^

:D :D :D :D


  • 0

#8 xuanduc1031

xuanduc1031

    biết zoom

  • Members
  • Pip
  • 17 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 10 December 2014 - 02:19 PM

:wub:  :wub:  :wub:  :wub:  :wub:  :wub:  :wub:  :wub:  :wub:


  • 0

#9 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 10 December 2014 - 02:20 PM

- lsp hơi dài ^^, bạn thử đưa file minh họa bạn chạy với lsp này, mọi người chạy thử để nắm vấn đề rùi mới sữa thử theo y/c của bạn ^^


  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#10 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 10 December 2014 - 02:37 PM

-lsp dành cho phiên bản cadr14 ^^, trong đó có 2 hàm con arrayele, timtctSH nhoc không thấy trong lsp, nếu hàm có sẵn nhoc dò thử gù gồ chưa ra, mún test nhưng báo lỗi ^^, file định dạng xlw chắc định dạng cũ hay sao, excel 2007 nhoc kím cũng ko có :)


  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#11 xuanduc1031

xuanduc1031

    biết zoom

  • Members
  • Pip
  • 17 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 10 December 2014 - 04:58 PM

nghĩa là trong 1 dòng thì cứ đến 1 tab nó mới phân ra 1 cột, chứ ở lisp này không phải như vậy

lisp này cứ đến dấu cách hay đến tab là nói nhận dòng, 

vậy mình muốn lisp này sẽ nhận cột khi nó đến dấu tab


  • 0

#12 nhoclangbac

nhoclangbac

    biết vẽ circle

  • Members
  • PipPip
  • 38 Bài viết
Điểm đánh giá: 3 (bình thường)

Đã gửi 10 December 2014 - 05:03 PM

Vây lisp chạy thì file Cad phải có điều kiên ah? rắc rối thế :wub:

" b¹n ph¶i nhËp sè hå s¬ tr­íc khi load vµo th«ng tin vµo ! "


  • 0

#13 xuanduc1031

xuanduc1031

    biết zoom

  • Members
  • Pip
  • 17 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 10 December 2014 - 05:07 PM

VD: 

2 Đào Thị Nữ 1967 0.0 Thôn Hà Thôn

2(tab)Đào(khoảng cách)Thị(khoảng cách)Nữ(tab)1967(tab)0.0(tab)Thôn(khoảng cách)(khoảng cách)Thôn

thì giữa đào thị nó tách ra mình muốn nó không tách ra vì đó là "dấu cách"

còn mình muốn tách ra thì giữa (Nữ 1967) được nhận biết bằng "tab" nên nó sẽ nhận biết và tách ra


  • 0

#14 xuanduc1031

xuanduc1031

    biết zoom

  • Members
  • Pip
  • 17 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 10 December 2014 - 05:10 PM

" b¹n ph¶i nhËp sè hå s¬ tr­íc khi load vµo th«ng tin vµo ! "

bạn chỉ cần tạo 1 số đầu tiên của dòng vd: số 2 đặt layer là tct thì nó sẽ nhận cả dòng exced đó mà


  • 0