Chuyển đến nội dung
Diễn đàn CADViet

whatcholingon

Thành viên
  • Số lượng nội dung

    222
  • Đã tham gia

  • Lần ghé thăm cuối

  • Ngày trúng

    6

Bài đăng được đăng bởi whatcholingon


  1. Lỗi này là do chiều cao Te xt hiện hành = 0 nên lệnh te xt cuối cùng của li sp sẽ hỏi thêm chiều cao, thì khi đó câu lệnh của li sp sẽ thiếu tham số này nên lỗi. ta cho chiều cao khác 0 là được

    mình làm như lời bạn nói xong thì chỉ xuất hiện  chữ 0.000 trong vùng kín thôi bạn ah.

    chứ không chọn được đối tượng trong đó.

    Pick point diem in:

    Chon pline 3D kin:

    Select object: .text

    Current text style:  "Standard"  Text height:  1.0000

    Specify start point of text or [Justify/Style]:

    Specify rotation angle of text <0>: 0

    Enter text: 0.000

    Command:

    Command:

     Chuc mot buoi lam viec vui ve.

    Thanks!


  2. File sua day ban. chi luu y ban la o day ta phai chon pline 3D thay vi vung kin vi neu cac diem la 3D thi ko tao duoc pline tu lenh BO.http://www.cadviet.com/upfiles/5/142148_chon_nhom_point.lsp

    Cám ơn bạn nhiều:

    khi mình thực hiện lsp thì báo lỗi sau:

    Pick point diem in:

    Chon pline 3D kin:

    Select object: .text

    Current text style:  "Standard"  Text height:  0.2000  Annotative:  No  Justify:  Left

    Specify start point of text or [Justify/Style]:

    Specify height <0.2000>: 0

    Value must be positive and nonzero.

    ; error: Function cancelled

    Specify height <0.2000>:

    Specify rotation angle of text <0>: *Cancel*

     

    bạn xem lại giùm mình ah.


  3. Tự nhiên đọc lại chủ đề này chợt nghĩ đến 2 từ "Vùng kín" mà cười thầm, nhớ là có bạn nào đó đề nghị sửa lại từ khác để tránh vấn đề nhạy cảm. Nhờ đó mà nhớ đến mình đã post từ CadViet một lsp rất hay về nó, của tác giả nước ngoài, sau đó về mông-má và thay bằng tiếng Việt không dấu để dễ sử dụng. Ai ngờ bây giờ có dịp hầu chủ topic và các bạn nào chưa có.

    Bạn nào có rồi thì thôi, bạn nào chưa có thì post về dùng, tôi đánh giá là cực hay.

    Từ lsp này có thể sáng tác thêm các lsp khác, như: chọn các point trong vùng kín (à quên) của chủ topic, hoặc delete, copy, move... các đối tượng đó.

    http://www.cadviet.com/upfiles/3/chon_doi_tuong_vung.lsp

    Mr. Doan Van Ha cho mình hỏi mình chạy lsp trên cad 2004 và cad 2014 báo lỗi như này là bị sao ạ?

    cad 2004:

    Command: CHON

    _.undo Enter the number of operations to undo or

    [Auto/Control/BEgin/End/Mark/Back] <1>: _begin

    Command:

    Chon cac doi tuong Trong vung, Ngoai vung hay Giua 2 vung? <T/N/G>: T

    Xet den cac doi tuong giao voi duong bao [Co,Khong]? <C/K>: C

    Chon duong bao...

    Select objects:

     

    Calculating Break Points, Please Wait.

     

    None to be broken._.undo Enter the number of operations to undo or

    [Auto/Control/BEgin/End/Mark/Back] <1>: _end

    Command:

     

    Cad2014:

    Command: CHON

    _.undo Current settings: Auto = On, Control = All, Combine = Yes, Layer = Yes

    Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] <1>: _begin

    Command:

    Chon cac doi tuong Trong vung, Ngoai vung hay Giua 2 vung? <T/N/G>: T

    Xet den cac doi tuong giao voi duong bao [Co,Khong]? <C/K>: K

    Chon duong bao...

    Select objects:

    _.undo Current settings: Auto = On, Control = All, Combine = Yes, Layer = Yes

    Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] <1>: _end

     

    Thanks!

    P/S: Xin lỗi Mr. Ketxu nhé.

    (P/S : kêu gọi anh em không trả lời bài sai quy định ^^)


  4. Update thêm tùy chọn xuất file CSV : http://www.cadviet.com/upfiles/3/15454_angleclockwisepolyline_1.zip

    - kích thước lấy theo DimStyle hiện hành

    - ch/cao Text lấy theo biến hệ thống TextSize

    - định dạng chiều dài và số đo góc theo Format-> Units... :

    15454_format_number.jpg

    Khi xuất ra file CSV thì cạnh và góc nó dính liền nhau, bạn gia bach có thể bổ sung thêm cạnh và góc được ngăn cách bằng dấu cách or dấu Tab được không ạ,

    Thanks!


  5. bạn load lisp xong, gõ lênh ATP  rồi pick vào đường LWPOLYLINE.

    nếu là đường POLYLINE thì không được nhé.

    để chuyển đường POLYNINE thành LWPOLYLINE thì bạn làm như sau:

    cách 1: gõ lệnh PLINETYPE để là 1.

    sau đó EXPLODE đường PL đó ra, rồi dùng lệnh PE nối lại.

    cách 2: tìm trên diễn đàn LSP chuyển POLYLINE sang LWPOLYLINE.

    Chúc bạn thành công.


  6. Rất cám ơn bạn. mình có xem chủ trên và có dow 1lisp về chạy thử thì báo lỗi sau:

    Command: ; error: malformed list on input

    bạn kiểm tra giùm mình xem là lỗi gì ah?

    đây là lsp :

    ;; free lisp from cadviet.com
    ;;; this lisp was downloaded from http://www.cadviet.com/forum/topic/3107-chuyen-so-lieu-text-tu-cad-sang-excell/
    (defun c:CTE(/ ss ent sht dtich cthua gchu i L lst fname);copyright by Tue_NV(defun checkss (sset)    (if (null sset) 	(acet-list-to-ss (list (entmakex (list (cons 0 "TEXT") (cons 1 "") (cons 10 (list 0 0 0)) (cons 40 2) ) ) ))    ))(IF (ACET-UTIL-VER)(PROGN(iF (setq ss (ssget '((0 . "*POLYLINE") (70 . 1))))(pROGN (setq i -1 lst '())  (while (setq ent (ssname ss (setq i (1+ i))))    (setq L (acet-geom-vertex-list ent))    (if (null (setq sht (ssget "CP" L '((0 . "*TEXT") (8 . "Sothua") (1 . "~*[~0-9]*")))) ) 	(setq sht (checkss sht)) )    (if (null (setq dtich (ssget "CP" L '((0 . "*TEXT") (8 . "Dientich") (1 . "*#.#*,*#,#*")))) )	(setq dtich (checkss dtich)) )    (if (null (setq cthua (ssget "CP" L '((0 . "*TEXT") (8 . "Text") (1 . "*@*")))) ) 	(setq cthua (checkss cthua)) )    (if (null (setq gchu (ssget "CP" L '((0 . "*TEXT") (8 . "Dientich") (1 . "@@@")))) )	(setq gchu (checkss gchu)) )       (setq lst (vl-sort 	           (append lst    		     (list		 	 (mapcar '(lambda(x) 			   		(acet-dxf 1 (entget x))				   )	    			(apply 'append			       		(mapcar 'acet-ss-to-list				       			(list sht sht cthua dtich gchu)			       		)				)    		   	)		     )	          );append		 '(lambda (x1 x2) (< (atoi (car x1)) (atoi (car x2))))		);vl-sort    	)  );while  ;;;;;;;;;;;;;;(if (setq fName (getfiled "Ten file xuat " (getvar "dwgprefix") "xls" 1))   (progn	(setq fName (open fName "w"))	(write-line "STT\tSO HIEU THUA\tCHU THUA\tDIEN TICH\tGHI CHU" fname)	(foreach pt lst	   (write-line (strcat (nth 0 pt) "\t" (nth 1 pt) "\t" (nth 2 pt) "\t"			       (nth 3 pt) "\t" (nth 4 pt)) fName)	)       (close fName)   ))  ))));PROGN_IF(setvar "modemacro" "Chuc ban lam viec hieu qua - tue_nvcc@yahoo.com") (princ))
    

    Thanks!


  7. Mong mọi người viết giùm mình lisp như sau: ( mình đang cần gấp, mọi người bỏ chút thời gian giúp mình với)

        -trong bản vẽ của mình có các thửa đất, trong các thửa đất này có các layer:

           số thửa

           diện tích

           loại đất

           tên chủ hộ

           địa chỉ

    (các text này đều nằm trong vùng kín của từng ô)

    Giờ mình muốn xuất các text này ra file csv nếu qua excel được thì càng tốt.

    cứ mỗi 1 thửa đất thì xuất ra một dòng như sau:

    file csv:
    1,83.5,ONT, Nguyễn Thị Liên, thôn a, xã b. tỉnh c

    2...

    3...

    4...

    ...

    (mỗi một thửa là một dòng)

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

    http://www.cadviet.com/upfiles/3/96857_drawing1.dwg

    Thanks all!


  8. Lisp này mình lấy về tự chế lại còn bị lỗi 1 số chổ chưa sữa được (đó là phải nhập lệnh ed) nhưng dùng cũng tạm được. Mình dùng cad2008

    ;; free lisp from cadviet.com
    ;;; this lisp was downloaded from http://www.cadviet.com/forum/topic/66851-da-xong-tu-dong-bat-tat-che-do-go-tieng-viet-trong-cad/page-2
     
    (vl-load-com)
    ;;; Dinh nghia lai lenh ED de lay ename doi tuong
    (defun c:ed (/ textedit font ent n-textedit n-obj n-ent dk code l-obj obj lst)
    (SETQ OLDERR *error*
    *error* myerror)
    (sendkeys "^+")
    (and (or (and (setq textedit (ssget "I"))
               	(sssetfirst textedit)
               	(setq obj (ssname textedit 0)))
          	(setq textedit (entsel) obj (car textedit)))
    (while obj
    ;(setq lst (Start-defun nil))
    ;(setq textedit (car (entsel)))
    (setq ent (cdr (assoc 0 (entget obj))))
    (cond ((wcmatch ent "*TEXT"); text
    (progn
    (setq font (cdr (assoc 7 (entget obj))))
    ;(setq font (vla-get-stylename (vlax-ename->vla-object textedit)))
    (call font)
    (command "ddedit" textedit "")
    ))
    ((= ent "DIMENSION") ;Dimension
    (progn
              	(setq font (vla-get-textstyle (vlax-ename->vla-object obj)))
    			;(setq font (vla-get-textstyle (vlax-ename->vla-object textedit)))
              	(call font)
    			(command "ddedit" textedit "")
    ))
    ((= ent "HATCH") ;Hatch
    (progn
              	(initdia)
    			(call font)
    			(command "hatchedit" textedit)
    ))
    ((= ent "INSERT") ;Block
              	(and (eq (type textedit) 'LIST)
                   	(setq n-textedit (nentselp (cadr textedit)))
                   	(setq n-obj (car n-textedit))
                   	(setq n-ent (entget n-obj))
                   	(setq n-obj (vlax-ename->vla-object n-obj))
                   	(cond ((= (cdr (assoc 0 n-ent)) "ATTRIB") ; Attribute
                          	(setq code (check-font-code (cdr (assoc 7 n-ent))))
                          	(if (eq (vla-get-mtextattribute n-obj) :vlax-false)
                           	(progn
                            	;(setq dk nil dk (sendkeys "^+"))
                            	(cond ((= code "TCVN3") (sendkeys "^+{F2}"))
                                  	((= code "UNICODE") (sendkeys "^+{F1}"))
                                  	((= code "VNI") (sendkeys "^+{F3}")))))
    						(vl-cmdf "eattedit" textedit)
                           	(if dk (sendkeys "^+")))
                         	((wcmatch (cdr (assoc 0 n-ent)) "TEXT,MTEXT") ; Text,Mtext in Block
                          	(if (or extract_clone (and (not extract_clone) (load "trexblk.lsp")))
                           	(progn
                            	(extract_clone n-textedit)
                            	(vla-put-visible n-obj :vlax-false)
                            	(entupd obj)
                            	(progn
    							(setq l-obj (entlast) font (cdr (assoc 7 n-ent)))
    							(call font)
    							(vl-cmdf "DDedit" l-obj "")
    							)
                            	(vla-put-textstring n-obj (cdr (assoc 1 (entget l-obj))))
                            	(vla-put-visible n-obj :vlax-true)
                            	(entdel l-obj)
                            	(entupd obj))
                           	(princ "Ban chua cai dat goi Express tool cho CAD\n"))))))
    ); cond	
    ;(Done-defun lst)		
    (setq textedit (entsel) obj (car textedit))
    );while
    );and
    (back)
    (command "HIGHLIGHT" 1 "")
    (SETQ *error* OLDERR)
    (princ))
    ;;; Ham call dieu khien bo go tieng viet
    (defun call (font / code Crfont)
    (if font (setq Crfont font) (setq Crfont (getvar "textstyle")))
       (setq code (check-font-code Crfont))
       (cond ((= code "TCVN3") (sendkeys "^+{F2}"))
    ((= code "UNICODE") (sendkeys "^+{F1}"))
    ((= code "VNI") (sendkeys "^+{F3}"))
    )
    )
    ;;; Ham tra lai English
    (defun back ()
    (sendkeys "^+")
    )
    ;;; Ham kiem tra bang ma cua textstyle (su dung true type font)
    ;;; style: String - ten cua textstlye kiem tra
    (defun Check-Font-Code (style / ts font Bold Italic charSet PitchandFamily)
    (setq ts (vlax-ename->vla-object (tblobjname "style" style)))
    (vla-GetFont ts 'font 'Bold 'Italic 'charSet 'PitchandFamily)
    (if (= font "") (setq font (vla-get-fontfile ts)))
    (cond ((wcmatch (setq font (strcase font)) "ARIAL*,TAHOMA*,TIMES*,COURIER NEW,CAMBRIA,CONSOLAS") "UNICODE")
        ((wcmatch font ".VN*") "TCVN3")
        ((wcmatch font "VNI*") "VNI")))
    ;;; Ham senkeys
    (defun SendKeys (keys / wscript)
    (vlax-invoke-method (setq wscript (vlax-create-object "WScript.Shell")) 'sendkeys keys)
    (vlax-release-object wscript))
    ;;;Ham bay loi
    (defun myerror (s)
    (if (= s "Function Cancelled") (sendkeys "^+"))
      (setq *error* OLDERR)
      (princ)
    )
    (defun Start-defun (lst-var)
    (defun *error* (msg)
    (redraw)
    (vl-cmdf "undo" "end")
    (vl-cmdf "undo" "")
    (princ));end
    (vl-cmdf "undo" "begin")
    (mapcar '(lambda(x) (list x (getvar x))) lst-var));end
    ;;;
    (defun Done-defun (lst-var / )
    (mapcar '(lambda (x) (setvar (car x) (cadr x))) lst-var)
    (vl-cmdf "undo" "end")
    (princ));end
    
    

    Bạn kiểm tra lại xem sau khi load lsp lên,khi chỉnh sửa text xong nó lại ko tự tắt unikey đi nhể!

    Thanks!

×