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

Viết Lisp theo yêu cầu

Các bài được khuyến nghị

Nhờ các bạn viết giùm mình đoạn lisp gọi bảng DIMENSION STYLE MANAGER vì mình không muốn vào chỉnh trong acad.pgp vì mỗi lần cài lại cad phải chỉnh lại mất công lắm.Chân thành cảm ơn trước.

Bạn có thể copy file pgp đã thay đổi lại và lưu lại trong ổ nào mà không phải ổ C.khi nào cài lại cad thì chỉ cần paste lại là xong thôi mà.Nếu viết lisp cho DIMENSION STYLE MANAGER thì còn các thay đổi khác thì sao.Và nữa là nếu bạn muốn viết yêu cầu viết lisp thì nên nó rõ ràng ra để mọi người trên diễn đàn có thể giúp bạn nữa chứ.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bạn có thể copy file pgp đã thay đổi lại và lưu lại trong ổ nào mà không phải ổ C.khi nào cài lại cad thì chỉ cần paste lại là xong thôi mà.Nếu viết lisp cho DIMENSION STYLE MANAGER thì còn các thay đổi khác thì sao.Và nữa là nếu bạn muốn viết yêu cầu viết lisp thì nên nó rõ ràng ra để mọi người trên diễn đàn có thể giúp bạn nữa chứ.

Mình chỉ cần đoạn lisp khi ta gõ DD thì bảng này hiện lên thôi vì mình đã có 1 lisp các lệnh tắt theo ý mình rồi nên mình không muốn sử dụng acad.pgp.

Thanks

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Nhờ mọi người giúp mình một lisp này.

Bản vẽ của mình có các point có toạ độ x,y,z cao độ có thể bằng không mình muốn lisp quét chọn các point đó và ghi toạ độ độ cao tại các point hiện lên màn hình và xuất thành bản thống kê toạ độ và độ cao

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Nhờ các bạn viết giùm mình đoạn lisp gọi bảng DIMENSION STYLE MANAGER vì mình không muốn vào chỉnh trong acad.pgp vì mỗi lần cài lại cad phải chỉnh lại mất công lắm.Chân thành cảm ơn trước.

Mất công ở chổ nào hở bạn? Có lâu không hở bạn? Bạn chỉnh 1 lần trong acad.pgp rồi sử dụng cho nhiều lần về sau hoặc bạn làm theo cách của bạn Kai_16-11 thì sao có thể gọi là mất công hở bạn?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Mất công ở chổ nào hở bạn? Có lâu không hở bạn? Bạn chỉnh 1 lần trong acad.pgp rồi sử dụng cho nhiều lần về sau hoặc bạn làm theo cách của bạn Kai_16-11 thì sao có thể gọi là mất công hở bạn?

Mình chỉ cần đoạn lisp khi ta gõ DD thì bảng này hiện lên thôi vì mình đã có 1 lisp các lệnh tắt theo ý mình rồi nên mình không sử dụng acad.pgp.Thanks

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Để lisp hoạt động được , yêu cầu các point phải ở trên layer có tên là DIEM, tương tự tên điểm thuộc layer TENDIEM, mã điểm thuộc layer CODE

cám ơn bạn,mình vẩn ko làm được....đây là file mẩu của mình,mong các bạn giúp đở.. :s_big:

http://www.cadviet.com/upfiles/2/vd.dwg

:cheers:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Mình có 1 thắ mắc mong mọi ng giúp đỡ. Mình có 1 File nền hiện trạng chứa các text cao độ, nhưng các text cao độ này đã bị làm hỏng, tức là ví dụ như 3.14 thì nó bị phá thành 3 thành phần : ( số 3, dấu . và số 14 riêng rẽ). Làm thế nào để chuyển nó lại thành số 3.14 như mong muốn vậy ! E đã thử dùng lệnh txt2mtxt nhưng ko đc, bởi vì làm rất lâu,mỗi lần thỉ làm cho đc 1 số mà trên bình đồ của e có cả vạn số,với lại nó còn làm xuất hiện dấu cách giữa 2 số 3 và 14, phải chỉnh lại,thế thà viết lại text còn nhanh hơn.

Đây là file mẫu, mong mọi ng giúp đỡ

File mẫu

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
- Lisp 1: Đề thiếu: Khoảng cách giữa 2 đường bằng bao nhiêu? điểm pick để vẽ nằm ở vị trí nào: giữa 2 đường hay thuộc 1 trong 2 đường.

Mà mình nhớ không nhầm thì cad cũng đã có lệnh vẽ các đường song song với nhau. tuy nhiên mình không nhớ lệnh. Với lại việc này có thể vẽ bình thường rồi offset cũng đâu có mất thời gian mấy đâu bạn?

- Lisp 2: bạn có thể dụng lệnh qick select hay lệnh filter.

 

 

@ Thaistreetz :

Cám ơn các bác quan tâm.Em xin chi tiết thêm 1 chút :

- Lisp 1 : Khoảng cách giữa 2 đường em đã nói ngay từ đầu là có thể thay đổi theo người dùng mà nên trong LISP mặc định là bao nhiêu không quan trọng, miễn là có hộp setting để người dùng có thể thay đổi được.Còn về điểm PICK thì em đã bảo ngay là lisp này để vẽ 2 đường line , hay polyline song song giống như lệnh mutiline thế có nghĩa là điểm pick cũng có thể thay đổi theo người dùng.Vấn đề em cần là vẽ 1 lần ta có 2 đường song song cùng 1 lớp nhưng khác màu ( có thể 1 đường là màu bylayer, 1 đường là màu số 8 chẳng hạn )

- Lisp 2 : lệnh quick select hay filter em đã dùng rồi nhưng không hiệu quả lắm nên mới nhờ các bác viết giùm em lisp này.Lisp khi dùng có thể chọn tất cả các đổi tượng cùng màu với nhau -----> để chuyển sang 1 lớp khác.

THANK

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
- Lisp 1: Đề thiếu: Khoảng cách giữa 2 đường bằng bao nhiêu? điểm pick để vẽ nằm ở vị trí nào: giữa 2 đường hay thuộc 1 trong 2 đường.

Mà mình nhớ không nhầm thì cad cũng đã có lệnh vẽ các đường song song với nhau. tuy nhiên mình không nhớ lệnh. Với lại việc này có thể vẽ bình thường rồi offset cũng đâu có mất thời gian mấy đâu bạn?

- Lisp 2: bạn có thể dụng lệnh qick select hay lệnh filter.

 

 

@ Thaistreetz :

Cám ơn các bác quan tâm.Em xin chi tiết thêm 1 chút :

- Lisp 1 : Khoảng cách giữa 2 đường em đã nói ngay từ đầu là có thể thay đổi theo người dùng mà nên trong LISP mặc định là bao nhiêu không quan trọng, miễn là có hộp setting để người dùng có thể thay đổi được.Còn về điểm PICK thì em đã bảo ngay là lisp này để vẽ 2 đường line , hay polyline song song giống như lệnh mutiline thế có nghĩa là điểm pick cũng có thể thay đổi theo người dùng.Vấn đề em cần là vẽ 1 lần ta có 2 đường song song cùng 1 lớp nhưng khác màu ( có thể 1 đường là màu bylayer, 1 đường là màu số 8 chẳng hạn )

- Lisp 2 : lệnh quick select hay filter em đã dùng rồi nhưng không hiệu quả lắm nên mới nhờ các bác viết giùm em lisp này.Lisp khi dùng có thể chọn tất cả các đổi tượng cùng màu với nhau -----> để chuyển sang 1 lớp khác.

THANK

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
@ Thaistreetz

1. Lệnh Miline

2. lệnh quick select hay lệnh filter : Có thể chọn đối tượng có màu là Bylayer. Nhưng không phân biệt được màu, cái nào là màu xanh, cái nào là màu vàng ......

 

 

@Tue_NV :

1. Lệnh mutiline hay ML có thể vẽ được 2 đường song song, điều chỉnh được khoảng cách nhưng lại cùng màu với nhau, cái mình cần là 2 đường song song,điều chỉnh được khoảng cách nhưng khác màu.

2. lệnh quick select và lệnh filter chỉ làm việc với những đối tượng có màu là bylayer thì chuẩn thôi, với đối tượng có màu khác, vd : màu số 8, hay số ... là không hiệu quả.

@ all :

Mình không biết trong DĐ có nhiều KTS không nhưng nếu có 2 lisp này thì mình nghĩ các KTS nhà mình sẽ nhàn hơn trong khi bổ kỹ thuật đó, bớt được 1 số thao tác không cần thiết nữa.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Mình có 1 thắ mắc mong mọi ng giúp đỡ. Mình có 1 File nền hiện trạng chứa các text cao độ, nhưng các text cao độ này đã bị làm hỏng, tức là ví dụ như 3.14 thì nó bị phá thành 3 thành phần : ( số 3, dấu . và số 14 riêng rẽ). Làm thế nào để chuyển nó lại thành số 3.14 như mong muốn vậy ! E đã thử dùng lệnh txt2mtxt nhưng ko đc, bởi vì làm rất lâu,mỗi lần thỉ làm cho đc 1 số mà trên bình đồ của e có cả vạn số,với lại nó còn làm xuất hiện dấu cách giữa 2 số 3 và 14, phải chỉnh lại,thế thà viết lại text còn nhanh hơn.

Đây là file mẫu, mong mọi ng giúp đỡ

File mẫu

Bạn chạy thử Lisp này :

(defun c:dm2t (/ cmd lay ssPoint ePoint pt Left Right entLeft entRight dataLeft str);Data Mia to Text
 (defun dxf (tag obj) (cdr (assoc tag obj)))
 (defun p3(d x y) (polar (polar d 0 x) (* 0.5 pi) y))

 (command "undo" "be")
 (setq cmd (getvar "cmdecho"))
 (setvar "cmdecho" 0)
 (or *lay* (setq *lay* "AMIA" ))
 (setq lay (getstring (strcat "\nNhap ten Layer chua Text(Point) can noi <" *lay* "> :")) )
 (if (/= "" lay) (setq *lay* lay) (setq lay *lay*))
 (princ "\nChon cac Point (diem Mia) can noi Text voi nhau: ")
 (if (setq ssPoint (ssget (list (cons 0 "POINT") (cons 8 lay))))
   (foreach ePoint (mapcar 'entget (vl-remove-if 'listp (mapcar 'cadr (ssnamex ssPoint))))
     (setq pt (dxf 10 ePoint))
     (if (and
    (setq Left (ssget "_C" (p3 pt -3 3) pt (list (cons 0 "TEXT") (cons 8 lay) ) ))
    (= (sslength Left) 1)
    (setq Right (ssget "_C" pt (p3 pt 3 -1) (list (cons 0 "TEXT") (cons 8 lay) ) ))
    (= (sslength Right) 1)
    (not (equal (setq entLeft (ssname Left 0)) (setq entRight (ssname Right 0))))
    )
(progn
  (setq dataLeft (entget entLeft)
	str (strcat (dxf 1 dataLeft) "." (dxf 1 (entget entRight)))
	dataLeft (subst (cons 1 str) (assoc 1 dataLeft) dataLeft))
  (entmod dataLeft)
  (entdel entRight)
  )
)
     )
   )
 (setvar "cmdecho" cmd)
 (command "undo" "e")(princ)
)

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
@Tue_NV :

1. Lệnh mutiline hay ML có thể vẽ được 2 đường song song, điều chỉnh được khoảng cách nhưng lại cùng màu với nhau, cái mình cần là 2 đường song song,điều chỉnh được khoảng cách nhưng khác màu.

2. lệnh quick select và lệnh filter chỉ làm việc với những đối tượng có màu là bylayer thì chuẩn thôi, với đối tượng có màu khác, vd : màu số 8, hay số ... là không hiệu quả.

1. Cái bạn nói là sai.

Không cần dùng Lisp : Dùng lệnh Mlstyle và vẽ bằng lệnh Mline. Bạn hãy đánh lệnh Mlstyle trong file này và tìm hiểu cách vẽ

2 đường song song,điều chỉnh được khoảng cách nhưng khác màu.

File đây : http://www.cadviet.com/upfiles/2/ml.dwg

Còn đây là hình ảnh minh hoạ :

ml.jpg

 

2. Bạn đọc kỹ lại bài của Tue_NV đi, phải dùng Lisp thôi

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Mình có 1 thắ mắc mong mọi ng giúp đỡ. Mình có 1 File nền hiện trạng chứa các text cao độ, nhưng các text cao độ này đã bị làm hỏng, tức là ví dụ như 3.14 thì nó bị phá thành 3 thành phần : ( số 3, dấu . và số 14 riêng rẽ). Làm thế nào để chuyển nó lại thành số 3.14 như mong muốn vậy ! E đã thử dùng lệnh txt2mtxt nhưng ko đc, bởi vì làm rất lâu,mỗi lần thỉ làm cho đc 1 số mà trên bình đồ của e có cả vạn số,với lại nó còn làm xuất hiện dấu cách giữa 2 số 3 và 14, phải chỉnh lại,thế thà viết lại text còn nhanh hơn.

Đây là file mẫu, mong mọi ng giúp đỡ

File mẫu

bạn dùng cái này: http://www.cadviet.com/upfiles/2/jd2.lsp

lệnh là: JD2

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bạn chạy thử Lisp này :

(defun c:dm2t (/ cmd ssPoint ePoint pt Left Right entLeft entRight dataLeft str);Data Mia to Text
 (defun dxf (tag obj) (cdr (assoc tag obj)))
 (defun p3(d x y) (polar (polar d 0 x) (* 0.5 pi) y))

 (command "undo" "be")
 (setq cmd (getvar "cmdecho"))
 (setvar "cmdecho" 0)
 (princ "\nChon cac Point (diem Mia) can noi Text voi nhau: ")
 (if (setq ssPoint (ssget (list (cons 0 "POINT") (cons 8 "AMIA"))))
   (foreach ePoint (mapcar 'entget (vl-remove-if 'listp (mapcar 'cadr (ssnamex ssPoint))))
     (setq pt (dxf 10 ePoint))
     (if (and
    (setq Left (ssget "_C" (p3 pt -3 3) pt (list (cons 0 "TEXT") (cons 8 "AMIA") ) ))
    (= (sslength Left) 1)
    (setq Right (ssget "_C" pt (p3 pt 3 -1) (list (cons 0 "TEXT") (cons 8 "AMIA") ) ))
    (= (sslength Right) 1)
    (not (equal (setq entLeft (ssname Left 0)) (setq entRight (ssname Right 0))))
    )
(progn
  (setq dataLeft (entget entLeft)
	str (strcat (dxf 1 dataLeft) "." (dxf 1 (entget entRight)))
	dataLeft (subst (cons 1 str) (assoc 1 dataLeft) dataLeft))
  (entmod dataLeft)
  (entdel entRight)
  )
)
     )
   )
 (setvar "cmdecho" cmd)
 (command "undo" "e")(princ)
)

 

anh gia_bach có thể thêm phần options : nhập layer các đối tượng cần nối, theo yêu cầu người sử dụng, chương trình sẽ linh động hơn. Cảm ơn anh

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
anh gia_bach có thể thêm phần options : nhập layer các đối tượng cần nối, theo yêu cầu người sử dụng, chương trình sẽ linh động hơn. Cảm ơn anh

Đã Update theo yêu cầu của bạn xem bài phía trên

 

Nhờ các bác cao thủ viết giúp em LISP có yêu cầu như thế này:

............

2.Lisp thứ 2 là khi thực hiện ta có thể chon các đối tượng cùng màu để đưa vào 1 lớp.

Thank các bác cao thủ nhiều...

chào nvc

......

2.Bạn chạy thử Lisp chọn các đối tượng cùng màu

Lisp chỉ chọn đối tuợng theo màu, việc copy, move, ChangeLayer , ... tùy bạn xử lý.

(defun c:sbc (/ ent col layers lay_lst filter ss);Select By Color
 (defun get_layer(col / tbl lay_lst)
   (setq tbl (tblnext "LAYER" T) lay_lst (list))
   (while tbl
     (if (= col (cdr (assoc 62 tbl)))
(setq lay_lst (cons (cdr(assoc 2 tbl)) lay_lst)) )
     (setq tbl (tblnext "LAYER" ))
     )
   lay_lst
   )
 (if (setq ent (entsel "\nSelect object for color filter."))
   (progn
     (or (setq col (cdr(assoc 62 (entget (car ent)))))
  (setq col (cdr (assoc 62
                           (tblsearch "layer"
                                    (cdr (assoc 8 (entget (car ent)))))))); color is ByLayer, get layer color
  )
     (setq layers ""
    lay_lst (get_layer col)) ; danh sach layer co mau "col"
     (foreach lay lay_lst
       (setq layers (strcat layers lay ",")))
     (setq layers (substr layers 1 (1- (strlen layers)))); remove the last
     (prompt (strcat "\n Chon doi tuong hay ENTER de chon tat ca doi tuong co color[ " (itoa col) " ]"))
     (if layers ;;  tao bo loc
(setq filter (append
	       (cons '(-4 . "		       (list '(-4 . "			     (cons 8 layers)
		     '(62 . 256) ; ByLayer
		     '(-4 . "AND>")
		     '(-4 . "OR>")
		     )))
(setq filter (list (cons 62 col)))
)
     (sssetfirst nil)
     (if (null (setq ss (ssget filter))) (setq ss (ssget "_X" filter))	)
     (if (> (sslength ss) 0)
       (progn
         (prompt (strcat "\nChon duoc " (itoa (sslength ss))
		  " doi tuong co color[ " (itoa col) " ]"))
         (sssetfirst nil ss)
  ))
 ))
 (princ)
 )

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Nhờ các bác cao thủ viết giúp em LISP có yêu cầu như thế này:

1.Khi thực hiện lệnh, ta có thể vẽ đồng thời 2 đường line hay 2 đường polyline, hoặc arc...với khoảng cách của 2 đường và màu sắc có thể thay đổi do người dùng.VD: khi vẽ, tạo ra đồng thời 2 đường line, line 1 màu số 4, line 2 màu số 8

Lisp bạn cần có phản cái này không?

;;; Lisp tao 2 duong song song
(defun co (p1 p2 k / flag)
 (if (or (< (car p1) (car p2)) (< (cadr p1) (cadr p2)))
   (setq flag (- k))
   (setq flag k)
 )
 flag
)
(defun  c:d2c (/ )
 (setq	bit1 (cond (bit1)
	  ("Line")
    )
 )
 (initget "Line Pline Spline Arc Circle Ellipse")
 (setq	tmp1 (strcat "\nBan ve duong gi? [Line/Pline/Spline/Arc/Circle/Ellipse] <" bit1 ">: ")
bit1    (cond ((getkword tmp1))
	     (bit1)
       )
 )
 (setq	bit2 (cond (bit2)
	  ("Giua")
    )
 )
 (initget "Tren Duoi Giua")
 (setq	tmp2 (strcat "\nDiem pick nam duong Tren, duong Duoi hay Giua 2 duong? [Tren/Duoi/Giua] <" bit2 ">: ")
bit2    (cond ((getkword tmp2))
	     (bit2)
       )
 )
 (setq	k (cond (k)
	       (5)
	 )
 )
 (setq oldk k)
 (setq
   k (getreal
       (strcat "\nKhoang cach 2 duong <"
	       (rtos oldk 2 1)
	       "> : "

       )
     )
 )
 (if (null k)
   (setq k oldk)
 )

 (cond	((eq bit1 "Line")
 (command ".Line" pause pause)
)
((eq bit1 "Pline")
 (setq p1 (getpoint "\nPick diem dau"))
 (command ".PLine" p1)
 (while (setq p1 (getpoint p1 "\nPick diem tiep theo:"))
 (command p1)
   )
 (command "" "")
)
((eq bit1 "Spline")
 (setq p1 (getpoint "\nPick diem dau"))
 (command ".SPLine" p1)
 (while (setq p1 (getpoint p1 "\nPick diem tiep theo:"))
 (command p1)
   )
 (command "" "" "")
)
((eq bit1 "Arc")
 (command ".Arc" pause pause pause)
)
((eq bit1 "Circle")
 (command ".Circle" pause pause)
)
((eq bit1 "Ellipse")
 (command ".Ellipse" pause pause pause)
)
 )
 (setq	en  (entlast)
OBJ (vlax-ename->vla-object en)
pA (vlax-curve-getStartPoint en)
pB (vlax-curve-getEndPoint en)
 )

 (cond	((eq bit2 "Tren")
  (setq flag (co pA pB (- k)))
  (setq
    objLW1 (car	(vlax-safearray->list
		  (vlax-variant-value (vla-offset obj flag))
		)
	   )
  )
  (vla-put-color obj acCyan)
  (vla-put-color objLW1 8)
)
((eq bit2 "Duoi")
  (setq flag (co pA pB k))
  (setq
    objLW1
     (car (vlax-safearray->list
	    (vlax-variant-value (vla-offset obj flag))
	  )
     )
  )
  (if (/= (car p1) (car p2))
    (progn
      (vla-put-color obj acCyan)
      (vla-put-color objLW1 8)
    )
    (progn
      (vla-put-color obj 8)
      (vla-put-color objLW1 acCyan)
    )
  )
)
((eq bit2 "Giua")
  (setq	objLW1 (car (vlax-safearray->list
		      (vlax-variant-value
			(vla-offset obj (/ k 2))
		      )
		    )
	       )
  )
  (setq	objLW2 (car (vlax-safearray->list
		      (vlax-variant-value
			(vla-offset obj (/ (- k) 2))
		      )
		    )
	       )
  )
  (vla-delete obj)
  (vla-put-color objLW1 acCyan)
  (vla-put-color objLW2 8)
)
 )
 (princ)
)
;;; copyright by Thiep 9/2009

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
tại vì mình nghĩ trong chương trình của bác Hoành mục đích chính là nối text TEN DIEM với text CODE để tạo thành 1 text duy nhất, (và đoạn này mình nghĩ đã bị ai xoá đi mất tiêu, còn đoạn nối TEN DIEM với CODE có tên trùng với TEN DIEM chỉ là để thông báo cho người dùng biết. Chính vì thế mà mình với thay đổi Lisp của bác ấy. Vả lại mình cũng nói với bác ấy nếu mình có thay đổi công năng chương trình của bác thì bác cứ góp ý phê bình mà. Dẫu sao thì mình cũng cảm ơn sự góp ý của bạn, còn chuyện biết Pass với sửa được thì bạn hoàn toàn hiểu sai ý của mình, chẳng lẽ đoạn lisp nào post lên mạng đều phải biết pass mới sửa được hay sao?

Ví dụ nhé, Bạn thử xem bài post của Thiep:

http://www.cadviet.com/forum/index.php?s=&...ost&p=71615

Ngày mai Thiep sẽ update lại lisp này để áp dụng cho các kiểu curve ở 2 đầu trụ và chỉ có Thiep mới edit lại được. Tomboy xem có khác nhau không? và Tomboy có thể edit bài post của Thiep được không?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Topic này hiện nay quá nhiều bài viết, việc truy cập vào topic làm chậm diễn đàn.

 

Xin được khóa topic này, các bác muốn yêu cầu lisp hay thảo luận thì xin mời vào Viết lisp theo yêu cầu [phần 2] để tiếp tục.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Máy anh ơi giúp em file cad nay với

http://www.cadviet.com/upfiles/3/aaaaaa.dwg

làm sao để tìm ra các khoang hở đó và tự độn bắn các line đụng vào nhau luôn nhe

với điều kiện là khi quét hết bản đồ thì chỉ các đường màu tím bắn đụng đường màu xanh thôi, còn các đường màu trắng thì giữ nguyên nhe

thank!!!!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bạn có thể post yêu cầu về autolisp ở topic này.

anh ơi.Em down được lisp chuyển từ pline sang spline nhưng khi đánh lệnh pl2spl nó báo lỗi là:error: no function definition: MASSOC. Anh có thế sửa giúp em không.e đang cần gấp.cảm ơn anh nhiều.đây là đường link của lisp.http://www.cadviet.com/upfiles/3/pl2spl.lsp

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bạn có thể post yêu cầu về autolisp ở topic này.

Gửi a Nguyen Hoanh!

em là người không rành về lisp, nhưng là dân Trắc địa, lại luôn tiếp xúc với những yêu cầu về truy xuất dữ liệu thông qua cad. nay e có 1 file excel sau, nhờ a xem và hỗ trợ viết lisp để xuất nó qua cad (với mỗi hàng là 1 điểm-point) với số lượng điểm không giới hạn, có thể chia số thứ tự là 1 layer; x,y,z là 1 layer; ghi chú là 1 layer. Mong a và mọi người hỗ trợ giúp. Rất mong được sự trợ giúp của a và mọi người. file excel sau: http://www.cadviet.com/upfiles/3/file_du_lieu_excel.rar

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Các bác có thể viết giùm Lisp Hatch như sau: Kiểu hatch ( AR-Sand ), Scale Hatch ( 20 ), đặc tính KÉo dãn được, Mang thuộc tính ANNotive để sử dụng cho layout ( trong đó tạo sẵn annotive ở các tỉ lệ 50 100 25 10... ), và cuối cùng là Hatch theo layer Hatch! thanks nhiều nhiều

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Khách
Chủ đề này bây giờ đã bị đóng lại để trả lời thêm.

×