Đến nội dung


Hình ảnh

Cho em hỏi về TOLERANCE!


  • Please log in to reply
49 replies to this topic

#41 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 06 April 2011 - 08:15 AM

Anh oi! Nếu cái đó ko chỉnh sửa được thì bây giờ mình chỉnh sửa như vậy được ko? Em chỉ muốn lấy giá trị CỠ VAN vào giữa Text P1-001 thôi, bỏ cái Quận, phường, địa chỉ (Vì nó ảnh hưởng đến Font nên sợ ko dc) cụ thể bây giờ chỉ cần như vầy thôi:
P1.10.001 còn các cái khác em dùng LISP thêm bớt text em làm thủ công cũng dc anh ơi!
Nhờ anh giúp dùm em với!
Thân chào anh!
....
Truongthanh sử dụng thử cái này :

(defun c:glt(/ oldos sst cs ob Rec p1 p2 ssm chu dk quan vitri)
;;copyright by Tue_NV
(command "undo" "be")
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(setq sst (acet-ss-to-list (ssget '((0 . "TEXT") (8 . "ki hieu van") (40 . 3.2)))) )
(setq cs '(30.0 -50.0 0.0))
(command "zoom" "e")
(FOREACH e sst
(setq ob (vlax-ename->vla-object e))
(setq Rec (ACET-ENT-GEOMEXTENTS e))
(setq p1 (car Rec) p2 (cadr Rec))
(setq chugoc (acet-dxf 1 (entget e)))
(IF (<= (strlen (vl-string-trim " " chugoc)) 6) (PROGN
(IF (setq ssm (ssget "c" p2 (mapcar '+ cs p2) (list(cons 0 "*TEXT")))) (PROGN
(foreach x (acet-ss-to-list ssm)
(setq chu (acet-dxf 1 (entget x)))

(if (and (vl-string-search "%%c" chu)
(= "TEXT PIPE" (acet-dxf 8 (entget x)))
)
(setq dk (substr (vl-string-trim " " chu) 4 (- (strlen chu) 4))) )

);foreach
(if dk
(vlax-put ob 'Textstring
(strcat (substr chugoc 1 (vl-string-search "-" chugoc) ) "."
dk "."
(substr chugoc (+ 2 (vl-string-search "-" chugoc)) (strlen chugoc) )
)
))
))));PROGN_IF
);FOREACH

(command "zoom" "p")
(setvar "osmode" oldos)
(command "undo" "e")
(princ)
)

  • 1

#42 truongthanh

truongthanh

    biết lệnh text

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

Đã gửi 06 April 2011 - 10:26 AM

Truongthanh sử dụng thử cái này :

Anh ơi! Cảm ơn anh rất nhiều! Nhưng sao giá trị cỡ van em sửa thành PHI 150 rồi thực hiện lisp thì nó vẫn là 10 mà sao ko phải là 15 vậy anh?Nhờ anh xem lại giúp dùm với!
Cái khung chữ nhật đó chắc phải chỉnh tay phải ko anh?
  • 0

#43 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 06 April 2011 - 11:46 AM

Anh ơi! Cảm ơn anh rất nhiều! Nhưng sao giá trị cỡ van em sửa thành PHI 150 rồi thực hiện lisp thì nó vẫn là 10 mà sao ko phải là 15 vậy anh?Nhờ anh xem lại giúp dùm với!
Cái khung chữ nhật đó chắc phải chỉnh tay phải ko anh?

Sửa lại code cho truongthanh
và vẽ luôn khung chữ nhật luôn, không cần phải chỉnh tay :

(defun c:glt();(/ oldos sst cs ob Rec p1 p2 ssm chu quan vitri)
;;copyright by Tue_NV
(command "undo" "be")
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(setq sst (acet-ss-to-list (ssget '((0 . "TEXT") (8 . "ki hieu van") (40 . 3.2)))) )
(setq cs '(30.0 -50.0 0.0))
(command "zoom" "e")
(FOREACH e sst
(setq ob (vlax-ename->vla-object e))
(setq Rec (ACET-ENT-GEOMEXTENTS e))
(setq p1 (car Rec) p2 (cadr Rec))
(setq chugoc (acet-dxf 1 (entget e)))
(IF (<= (strlen (vl-string-trim " " chugoc)) 6) (PROGN
(IF (setq ssm (ssget "c" p2 (mapcar '+ cs p2) (list(cons 0 "*TEXT")))) (PROGN
(foreach x (acet-ss-to-list ssm)
(setq chu (acet-dxf 1 (entget x)))

(if (and (or (vl-string-search "%%C" chu)
(vl-string-search "%%c" chu) )
(= "TEXT PIPE" (acet-dxf 8 (entget x)))
)
(setq dk (substr (vl-string-trim " " chu) 4 (- (strlen chu) 4))) )
);foreach
(if dk (progn
(command "justifytext" e "" "R")
(vlax-put ob 'Textstring
(strcat (substr chugoc 1 (vl-string-search "-" chugoc) ) "."
dk "."
(substr chugoc (+ 2 (vl-string-search "-" chugoc)) (strlen chugoc) )
)
)

(setq Rec (ACET-ENT-GEOMEXTENTS e))
(setq p1 (mapcar '- (car Rec) '(1.6 1.6 0.0)) )
(IF (setq ssr (ssget "c" p2 (mapcar '+ cs p2) (list(cons 0 "*POLYLINE") (cons 8 "ki hieu van"))))
(progn
(setq ent_rec (ssname ssr 0))
(setq maxp (cadr (ACET-ENT-GEOMEXTENTS ent_rec)))
(command "rectang" maxp p1)
(command "MATCHPROP" ent_rec (entlast) "")
(entdel ent_rec)
))
))

))



));PROGN_IF
);FOREACH

(command "zoom" "p")
(setvar "osmode" oldos)
(command "undo" "e")
(princ)
)

  • 1

#44 truongthanh

truongthanh

    biết lệnh text

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

Đã gửi 06 April 2011 - 12:18 PM

Sửa lại code cho truongthanh
và vẽ luôn khung chữ nhật luôn, không cần phải chỉnh tay :

Thanks anh lần này dc rồi! Chỉ nhờ anh chút xíu nữa thôi đó là sau khi thực hiện lisp anh OK rồi, nhưng em làm tay cái chỗ "VỊ TRÍ" và "PHƯỜNG" nữa lúc đó hình chữ nhật lại ko FIT với text! Vậy có cách nào giải quyết vấn đề này ko anh? Chẳng hạn tách cái vẽ Hình chữ nhật ra thành 1 LISP riêng biệt, sau khi em thêm VI TRI và PHUONG thì lúc đó em mới vẽ HCN sau!
Thanks anh rất nhiều!

PS:Với lại lisp có lỗi nhỏ tí xíu đó là số cuối chưa có thêm số 0! Ví dụ P1-1 thì thành P1-10-001 (cái này tối đa là 3 chữ số nên nếu hiện tại là số 1 thì phải thêm 2 số 0) Sory anh ko biết yêu cầu này có hơi quá ko?
  • 0

#45 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 06 April 2011 - 02:35 PM

Thanks anh lần này dc rồi! Chỉ nhờ anh chút xíu nữa thôi đó là sau khi thực hiện lisp anh OK rồi, nhưng em làm tay cái chỗ "VỊ TRÍ" và "PHƯỜNG" nữa lúc đó hình chữ nhật lại ko FIT với text! Vậy có cách nào giải quyết vấn đề này ko anh? Chẳng hạn tách cái vẽ Hình chữ nhật ra thành 1 LISP riêng biệt, sau khi em thêm VI TRI và PHUONG thì lúc đó em mới vẽ HCN sau!
Thanks anh rất nhiều!

PS:Với lại lisp có lỗi nhỏ tí xíu đó là số cuối chưa có thêm số 0! Ví dụ P1-1 thì thành P1-10-001 (cái này tối đa là 3 chữ số nên nếu hiện tại là số 1 thì phải thêm 2 số 0) Sory anh ko biết yêu cầu này có hơi quá ko?

Ủa, cái Lisp tách 3 chữ cái đầu tiên của tên đường, Quận không sử dụng được à?
P1-1 thì thành P1-10-001
Cái này nếu P1-40 thì có thêm là P1-10-040 không?

Có thể ghép thành 1 Lisp với 2 lựa chọn :
Thêm đường kính vàovẽ lại hình chữ nhật đó
Vừa sửa xong cái này. truongthanh thử xem :
http://www.cadviet.c...les/3/glt_1.lsp
  • 1

#46 truongthanh

truongthanh

    biết lệnh text

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

Đã gửi 06 April 2011 - 07:18 PM

Ủa, cái Lisp tách 3 chữ cái đầu tiên của tên đường, Quận không sử dụng được à?
P1-1 thì thành P1-10-001
Cái này nếu P1-40 thì có thêm là P1-10-040 không?

Có thể ghép thành 1 Lisp với 2 lựa chọn :
Thêm đường kính vàovẽ lại hình chữ nhật đó
Vừa sửa xong cái này. truongthanh thử xem :
http://www.cadviet.c...les/3/glt_1.lsp

Lisp kết hợp 2 lựa chọn dùng rất tốt ạ!
Còn cái Lisp tách 3 chữ cái đầu của đường và Quận ko sử dụng dc anh ơi! Chính vì vậy nên em mới nhờ anh sửa LISP này, còn tên ĐƯỜNG và QUẬN thì em sẽ làm thủ công bằng LISP THÊM BỚT TEXT trên diễn đàn anh!
Còn cái P1-1 thì thành P1-10-001
Còn nếu P1-40 thì thành là P1-10-040 ạ!
Cảm ơn anh rất nhiều!
  • 0

#47 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 06 April 2011 - 08:16 PM

Lisp kết hợp 2 lựa chọn dùng rất tốt ạ!
Còn cái Lisp tách 3 chữ cái đầu của đường và Quận ko sử dụng dc anh ơi! Chính vì vậy nên em mới nhờ anh sửa LISP này, còn tên ĐƯỜNG và QUẬN thì em sẽ làm thủ công bằng LISP THÊM BỚT TEXT trên diễn đàn anh!
Còn cái P1-1 thì thành P1-10-001
Còn nếu P1-40 thì thành là P1-10-040 ạ!
Cảm ơn anh rất nhiều!

Không hiểu sao anh sử dụng được nhỉ?
Code hoàn thiện cho truongthanh đây :
http://www.cadviet.c...s/3/glt_1_1.lsp
  • 1

#48 truongthanh

truongthanh

    biết lệnh text

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

Đã gửi 06 April 2011 - 08:48 PM

Không hiểu sao anh sử dụng được nhỉ?
Code hoàn thiện cho truongthanh đây :
http://www.cadviet.c...s/3/glt_1_1.lsp

Em cũng đang thắc mắc! Nếu như giá trị Cỡ van PHI 100 mà lisp lấy được thì tại sao Đường và Quận nó lại lấy ko dc vậy anh?
  • 0

#49 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 07 April 2011 - 06:14 AM

Em cũng đang thắc mắc! Nếu như giá trị Cỡ van PHI 100 mà lisp lấy được thì tại sao Đường và Quận nó lại lấy ko dc vậy anh?

Máy của anh và ketxu chạy ầm ầm. Anh đã quay video cho em xem rồi đấy.
Có lẽ là do lỗi Font chữ tiếng Việt trên máy của em
Anh đã sửa lại code 1 chút ở Vị trí và Quận. Em chạy lại đoạn code này, có gì rồi anh hoàn thiện lại

(defun c:glt(/ oldos sst cs ob Rec p1 p2 ssm chu dk quan vitri)
;;copyright by Tue_NV
(vl-load-com)
(command "undo" "be")
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(setq sst (acet-ss-to-list (ssget '((0 . "TEXT") (8 . "ki hieu van") (40 . 3.2)))) )
(setq cs '(30.0 -50.0 0.0))
(command "zoom" "e")
(FOREACH e sst
(setq ob (vlax-ename->vla-object e))
(setq Rec (ACET-ENT-GEOMEXTENTS e))
(setq p1 (car Rec) p2 (cadr Rec))
(setq chugoc (acet-dxf 1 (entget e)))
(IF (<= (strlen (vl-string-trim " " chugoc)) 6) (PROGN
(IF (setq ssm (ssget "c" p2 (mapcar '+ cs p2) (list(cons 0 "*TEXT")))) (PROGN
(foreach x (acet-ss-to-list ssm)
(setq chu (acet-dxf 1 (entget x)))
(if (vl-string-search "V\\U+00D" chu)
(setq vitri (tach chu ":")) )
(if (vl-string-search "PH\\U+00" chu)
(setq quan (tach chu "-")) )
(if (and (vl-string-search "%%c" chu)
(= "TEXT PIPE" (acet-dxf 8 (entget x)))
)
(setq dk (substr (vl-string-trim " " chu) 4 (- (strlen chu) 4))) )

);foreach
(if (and quan vitri dk)
(vlax-put ob 'Textstring
(strcat quan "." (substr chugoc 1 (vl-string-search "-" chugoc) ) "."
vitri "." dk ".0"
(substr chugoc (+ 2 (vl-string-search "-" chugoc)) (strlen chugoc) )
)
))
))));PROGN_IF
);FOREACH

(command "zoom" "p")
(setvar "osmode" oldos)
(command "undo" "e")
(princ)
)
;;;;;;;;;;;;
(defun tach (str kitucheck / trich kitu L i)
;;copyright by Tue_NV
(setq str (vl-string-trim " " str))
(setq L (strlen str) i L)
(setq kitu "Chuc ban lam viec hieu qua")
(While (/= kitu kitucheck)
(setq kitu (substr str i 1))
(setq i (1- i))
(if (or (= kitu " ") (= kitu kitucheck))
(setq trich (append trich (list (substr str (+ i 2) 1)) ) )
)
)
(setq trich (apply 'strcat (reverse (vl-remove " " trich))))
trich
)

  • 0

#50 truongthanh

truongthanh

    biết lệnh text

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

Đã gửi 07 April 2011 - 09:38 AM

Máy của anh và ketxu chạy ầm ầm. Anh đã quay video cho em xem rồi đấy.
Có lẽ là do lỗi Font chữ tiếng Việt trên máy của em
Anh đã sửa lại code 1 chút ở Vị trí và Quận. Em chạy lại đoạn code này, có gì rồi anh hoàn thiện lại

Dạ vẫn ko dc anh ơi!Thôi chắc không cần nữa đâu anh! Tốn thời gian của anh quá! Chắc do máy em bị lỗi font rồi!
Cảm ơn anh rất nhiều ah!
  • 0