Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Nguyen Hoanh

Viết lisp theo yêu cầu [phần 2]

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

dtvhtc    0

Hề hề hề,

Thứ nhất là bạn chả gửi cái file lisp nào cả nên chả biết sửa cái chi.

Thứ hai là cái file txt bạn gửi thì thấy cao độ z toàn bằng 0 cả.

Thứ ba là trong file cad, phải chăng các text số đều là các số hiệu của điểm mà bạn cần lấy để bổ sung vào cái file txt của bạn và bạn muốn bổ sung nó vào vị trí nào, cột đầu tiên hay cột cuối cùng hay là nhét đại nó vào đâu cũng được??????

Hề hề hề,....

Xin lỗi em sơ ý, quên up file lisp lên.

cao độ z trong file cad tại vì em đã cho nó về =0 hết rồi nên xuất ra nó bằng 0.

Các text số đều là các số hiệu của điểm point mà em cần lấy để bổ sung vào cái file text, và em muốn bổ sung nó vào vị trí đầu tiên. file lisp của em đây http://www.cadviet.com/upfiles/3/ptexport_1.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
lacvanhoa    0

Chào các pac trên diễn đàn. Mình có vấn đề này nhờ các pac giup mình với

Trong file các của mình có các text số bây giờ mình muốn cộng tất cả các text số đó lại, có pác nào biết lệnh làm được việc đó không hay lisp nào sử lý được không chỉ giúp mình với. file cad của mình đây: http://www.cadviet.com/upfiles/3/tong_text.dwg

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
Doan Van Ha    2.676

Chào các pac trên diễn đàn. Mình có vấn đề này nhờ các pac giup mình với

Trong file các của mình có các text số bây giờ mình muốn cộng tất cả các text số đó lại, có pác nào biết lệnh làm được việc đó không hay lisp nào sử lý được không chỉ giúp mình với. file cad của mình đây: http://www.cadviet.com/upfiles/3/tong_text.dwg

Trên CADViet có vô vàn! Bạn nên tìm trước khi hỏi thì tốt hơn. Đây là 1 trong số đó

http://www.cadviet.com/upfiles/3/totaltx.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
ketxu    2.649

Chào các pac trên diễn đàn. Mình có vấn đề này nhờ các pac giup mình với

Trong file các của mình có các text số bây giờ mình muốn cộng tất cả các text số đó lại, có pác nào biết lệnh làm được việc đó không hay lisp nào sử lý được không chỉ giúp mình với. file cad của mình đây: http://www.cadviet.com/upfiles/3/tong_text.dwg

Có và đã có nhiều, bạn chịu khó dùng công cụ search của diễn đàn các lisp cộng text!!!

P/S : DVH đã trả lời r, srr a e

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 tính diện tích theo tỷ lệ 1:1 thì đã có rất nhiều, Có nhiều hình ko đúng tỷ lệ rất mất công scale về đúng tỷ lệ,lai có nhiều rắc rối kèm theo khi scale . Vậy các bạn có lisp nào tính diện tích theo tỷ lệ bản vẽ không, giúp mình với.

Cảm ơn các 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
hochoaivandot    108

Em xin­ nhờ các anh trong diễn đàn viết dùm lisp sau.

Tạo dimension giống như hình vẽ

dim.png

Yêu cầu:

1. Đối tượng cần đo là 1 đường curve bất kỳ

2. Chiều cao text, kích thước hay quy cách dấu mũi tên ...có thể chỉnh sửa dễ dàng

(Nếu được là đốitượng Dimension để chỉnh sửa trong Dim Style là tốt nhất)

3. Đường ghi kích thước là đường offset của đối tường cần đo

4. Hướng của text là hướng tiếp tuyến tại vị trí đặt text

5. Vị trí đặt text cho phép user pick điểm chọn, mặc định điểm chinh giữa tương ưng

6. Các thành phần (đường gióng vuông góc, đường ghi kích thước offset, các dấu mũi tên và text) là 1 đối tượng không phải các đối tượng riêng lẽ.

File đính kèm em gởi diễn đàn. My link

Nếu toàn bộ yêu cầu trên không thể đáp ứng thì có thể bỏ qua bớt miễn tiện lợi nhất cho người dùng.

Cảm ơn diễn đàn trướ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
TokyoNhat    16

Các bác xem giúp e 1 cái lisp với nội dung như sau với ạ : Em có mặt bằng kết cấu tầng 1 gồm 50 dầm đánh sô thứ tự D1>D50 . Do các tầng giống nhau lên dầm cũng tương tự , em muốn viết 1 cái lisp sau khi đã có 50 dầm tầng 1 ( Text ) nó copy và thêm 1 ký tự ( chữ cái ) để phân biệt với tầng 1 . Ví dụ tầng 2 sẽ là D1A>D50A . Như vậy công việc của e sẽ tiết kiệm thời gian rất nhiều , không phải hiệu chỉnh text từng cái một . Các bác xem viết được thì giúp e với . Cám ơn các bác trướ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
Doan Van Ha    2.676

Lisp tính diện tích theo tỷ lệ 1:1 thì đã có rất nhiều, Có nhiều hình ko đúng tỷ lệ rất mất công scale về đúng tỷ lệ,lai có nhiều rắc rối kèm theo khi scale . Vậy các bạn có lisp nào tính diện tích theo tỷ lệ bản vẽ không, giúp mình với.

Cảm ơn các bạn!

Bạn hãy nói rõ hơn cách tính S, vì trên CADViet có rất nhiều kiểu:

1. Tính S bằng cách pick 1 điểm trong vùng giới hạn bởi 1 đường kín.

2. Tính S bằng cách pick lên chính đường giới hạn.

3. ...

Và BV chỉ có 1 tỉ lệ hay 2 tỉ lệ (tỉ lệ đứng và tỉ lệ ngang khác nhau).

Nếu bạn trình bày chi tiết, hy vọng có người giúp 100% luô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
ketxu    2.649

Em xin­ nhờ các anh trong diễn đàn viết dùm lisp sau.

Tạo dimension giống như hình vẽ

dim.png

Yêu cầu:

1. Đối tượng cần đo là 1 đường curve bất kỳ

2. Chiều cao text, kích thước hay quy cách dấu mũi tên ...có thể chỉnh sửa dễ dàng

(Nếu được là đốitượng Dimension để chỉnh sửa trong Dim Style là tốt nhất)

3. Đường ghi kích thước là đường offset của đối tường cần đo

4. Hướng của text là hướng tiếp tuyến tại vị trí đặt text

5. Vị trí đặt text cho phép user pick điểm chọn, mặc định điểm chinh giữa tương ưng

6. Các thành phần (đường gióng vuông góc, đường ghi kích thước offset, các dấu mũi tên và text) là 1 đối tượng không phải các đối tượng riêng lẽ.

File đính kèm em gởi diễn đàn. My link

Nếu toàn bộ yêu cầu trên không thể đáp ứng thì có thể bỏ qua bớt miễn tiện lợi nhất cho người dùng.

Cảm ơn diễn đàn trước.

Các thứ bạn tạo vẫn là các đối tượng riêng lẻ đó chứ, chỉ group lại thôi :)

 

Các bác xem giúp e 1 cái lisp với nội dung như sau với ạ : Em có mặt bằng kết cấu tầng 1 gồm 50 dầm đánh sô thứ tự D1>D50 . Do các tầng giống nhau lên dầm cũng tương tự , em muốn viết 1 cái lisp sau khi đã có 50 dầm tầng 1 ( Text ) nó copy và thêm 1 ký tự ( chữ cái ) để phân biệt với tầng 1 . Ví dụ tầng 2 sẽ là D1A>D50A . Như vậy công việc của e sẽ tiết kiệm thời gian rất nhiều , không phải hiệu chỉnh text từng cái một . Các bác xem viết được thì giúp e với . Cám ơn các bác trước .

Bạn hãy tìm lisp themtext bác Duy viết post trên diễn đàn rồi.Lần sau bạn hãy thử phân tích ý mình muốn để tìm lisp trên diễn đàn cho phù hợp :) Chúc bạn thành công

  • 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
hochoaivandot    108

Các thứ bạn tạo vẫn là các đối tượng riêng lẻ đó chứ, chỉ group lại thôi :)

 

Cảm ơn ketxu đã quan tâm.

Nếu là đối tượng block thì có thể là 1 đối tượng.

Text có thể là thuộc tính nhỉ?

Nhưng khó là ở chổ kích thước mũi tên và text phải thay đổi dễ dàng.

Em xem mã dxf của 1 dimension thì nó cũng có liên quan đến block thì phải. Có thể mỗi dimension là 1 block.

Text ghi kích thước là thuộc tính nhưng có thể liên kết giá trị kết quả đo (tương tự mấy cái Link...của bác giabach).

Em chỉ suy nghĩ vài hướg thôi nhưng vẫn chưa thực hiện được.

Các anh quan tâm dùm với vì thực tế dùng cái này 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

Bạn hãy nói rõ hơn cách tính S, vì trên CADViet có rất nhiều kiểu:

1. Tính S bằng cách pick 1 điểm trong vùng giới hạn bởi 1 đường kín.

2. Tính S bằng cách pick lên chính đường giới hạn.

3. ...

Và BV chỉ có 1 tỉ lệ hay 2 tỉ lệ (tỉ lệ đứng và tỉ lệ ngang khác nhau).

Nếu bạn trình bày chi tiết, hy vọng có người giúp 100% luôn.

 

Mình muốn tính diện tích theo kiểu click vào trong 1 đường bao kín(ko phải click vào đường bao giới hạn kiểu pl)

Trong bản vẽ có nhiều tỷ lệ(mong muốn khi dùng lisp tính có hỏi tỷ lệ bản vẽ hình cần tính).

Của mình Tỷ lệ đứng và ngang cùng nhau. Còn tham lam tý, nếu có kiểu hoi tỉ lệ đứng và ngang khác nhau nữa thì quá tuyệt).

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
ketxu    2.649

Mỗi dimension là 1 block anon, việc tạo ra cái dimension như kia quả không đơn giản ^^

Bạn có thể để group như thế này cũng được, text có thể link giá trị length của curve vào.

Mũi tên dimension của bạn có thể giả lập bằng 2 leader quay mặt vào nhau :)

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
phamthanhbinh    3.123

Xin lỗi em sơ ý, quên up file lisp lên.

cao độ z trong file cad tại vì em đã cho nó về =0 hết rồi nên xuất ra nó bằng 0.

Các text số đều là các số hiệu của điểm point mà em cần lấy để bổ sung vào cái file text, và em muốn bổ sung nó vào vị trí đầu tiên. file lisp của em đây http://www.cadviet.com/upfiles/3/ptexport_1.lsp

Hề hề hề,

Căn cứ vào cái file lisp và file dwg bạn gửi, mình thấy có vài câu hỏi muốn trao đổi lại như sau:

1/- File lisp của bạn chỉ cho xuất tọa độ của các point có trên bản vẽ. Các point này đã được tạo trước và là điểm đặt của các tetxt số hiệu điểm. Vậy tại sao bạn không chọn các text để xử lý mà lại chọn các point????

2/- Trên bản vẽ của bạn liệu có thể xuất hiện các text không phải là số hiệu của điểm hay không???

3/- Bạn có thể quy hoạch các text số hiệu điểm về một lớp riêng biệt hay không???

4/- Các tọa độ z liệu có còn nhất thiết phải xuất ra file hay không vì như bạn nói đã xử lý cho nó về 0 hết cả rồi.

 

Thực ra cái yêu cầu của bạn hoàn toàn có thể thực hiện được. Song cần hiểu rõ cấu trúc file dwg của bạn mới có thể làm đúng được.

Tỷ như với cái file dwg bạn gửi, đâu có cái lwpolyline nào mà tại sao lisp lại phải đưa vào ????

Hề hề hề.

  • Vote giảm 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
Doan Van Ha    2.676

Mình muốn tính diện tích theo kiểu click vào trong 1 đường bao kín(ko phải click vào đường bao giới hạn kiểu pl)

Trong bản vẽ có nhiều tỷ lệ(mong muốn khi dùng lisp tính có hỏi tỷ lệ bản vẽ hình cần tính).

Của mình Tỷ lệ đứng và ngang cùng nhau. Còn tham lam tý, nếu có kiểu hoi tỉ lệ đứng và ngang khác nhau nữa thì quá tuyệt).

Bạn dùng cái này xem. Bản gốc: Created on 8/6/04. Copyright 2004 by JefferyPSanders.com. All rights reserved.

Tôi hiệu chỉnh và bổ sung một số y/c cho phù hợp với bạn.

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

P/S: Tôi vừa mới phát hiện ra: bản gốc bị sai khi tính S của Ellipse (S luôn bằng 0),

tuy nhiên chưa có thời gian tìm hiểu để hiệu chỉnh, và cũng nhắc ai đã từng tải

lisp "GA.lsp" của tác giả trên về dùng hãy cẩn thận với Ellipse.

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
tomboy    20

nhờ các bạn trên diễn đàn viết giúp em lisp này. em có file cad chứa các point và số hiệu của point em muốn xuất toạ độ x,y có z cũng được không có cũng được của point cùng với số hiệu của point sang exel hoặc file text. sau khi xuất ra có 4 cột bắt đầu từ số hiệu point tới y,x,z.Em đã seach trên diễn đàn rồi nhưng em không tìm được lisp như mong muốn.Mong được các bạn giúp đỡ.

http://www.cadviet.com/upfiles/3/toado.rar

Của bạn đây, nhu­ng mình xuất cho bạn theo toạ độ của acad thôi nhé, nếu theo toạ độ bản đồ thì bạn phải vào exel đổi lại trục toạ độ, cần lu­u­ ý khi bạn chạy chu­o­ng trình nó sẽ hỏi bạn độ chính xác tu­ vị trí Point cho den vị trí text, nếu bạn nhập số lon quá thì có thể bạn không nhận đu­o­c kết quả nhu­ mong muốn, còn nếu bản vẽ của bạn giũa Text và Point là trùng nhau thì bạn nên chọn là 0.

(defun c:xyzo (/ text_loc input timgan save data)
 (defun text_loc (entn / p entg text jum72 jum73 i loc )
   (setq p '())
   (setq entg (entget entn))
   (setq text (cdr (assoc 0 entg)))
   (if	(= text "TEXT")
     (progn
(setq jum72 (cdr (assoc 72 entg)))
(setq jum73 (cdr (assoc 73 entg)))
(cond
  ((= jum72 1) (setq i 11))
  ((= jum72 2) (setq i 11))
  ((= jum72 4) (setq i 11))
  ((= jum72 3) (setq i 10))
  ((= jum72 5) (setq i 10))
  ((= jum72 0)
   (progn
     (if (= jum73 0)
       (setq i 10)
       (setq i 11)
     )
   )
  )
)
(setq loc (cdr (assoc i entg)))
(setq p (subst 0 (caddr loc) loc))
     )
   )
   p
 )					;end sub text_loc
 (defun input (/ sset i pts txts entn entg dxf)
   (setq sset (ssget '((0 . "POINT,TEXT"))))
   (setq i    0
  pts  '()
  txts '()
   )
   (if	sset
     (while (setq entn (ssname sset i))


(setq i	   (+ i 1)
      entg (entget entn)
      dxf  (cdr (assoc 0 entg))
)
(cond
  ((= dxf "POINT")
   (setq pts (append pts (list (cdr (assoc 10 entg)))))
  )
  ((= dxf "TEXT")
   (setq txts
	  (append txts
		  (list (list (cdr (assoc 1 entg)) (text_loc entn)))
	  )
   )
  )
)
     )
   )
   (if	(and pts txts)
     (list pts txts)
   )
 )					;end sub input
 (defun timgan	(p txts dk / p1 p2 d dmin ans)
   (if	txts
     (progn
(setq p1 (subst 0 (caddr p) p))
(foreach x txts
  (setq p2 (cadr x))
  (setq d (distance p1 p2))
  (if (not dmin)
    (setq dmin d
	  k x
    )
    (if	(< d dmin)
      (setq dmin d
	    k x
      )
    )
  )
)
(setq txts (vl-remove k txts))
(if (<= dmin dk)
  (setq	ans
	 (strcat
	   (car k)
	   (apply
	     'strcat
	     (mapcar '(lambda (e) (strcat "\t" (rtos e 2 3))) p)
	   )
	 )
  )
)
     )
   )
   (list txts ans)
 )					;end sub timgan
 (defun xuly (pts txts / dk ans kq)
   (setq dk
   (getdist
     (strcat "\nDo chinh xac (Nguy hiem neu ban chon qua lon): <"
	     (rtos (abs (getvar "userr1")) 2 2)
	     "> "
     )
   )
   )
   (if	dk
     (setvar "userr1" (setq dk (abs dk)))
     (setq dk (abs (getvar "userr1")))
   )
   (setq pts (mapcar '(lambda (e)
		 (progn
		   (setq ans (timgan e txts dk))
		   (setq txts (car ans)
			 kq   (cadr ans)
		   )
		 )
	       )
	      pts
      )
   )
   pts
 )					;end sub xuly
 (defun save (data / path fn f)
   (if	data
     (progn
(setq path (vl-filename-directory (getvar "users1")))
(if (= path "")
  (setq path (getvar "acadprefix"))
  (setq path (strcat path "\\;"))
)
(setq fn (getfiled "Save as file." path "xyz;xy;pts" 1))
(if fn
  (progn
    (setvar "users1" fn)
    (setq f (open fn "w"))
    (foreach x data
      (write-line x f)
    )
    (close f)
    (alert "Program is completed")
  )
)
     )
     (alert
"That bai\nTap hop diem chon khong thoa man dieu kien do chinh xac"
     )
   )
 )					;end sub save
;;;  -------------------MAIN----------------------
 (setq data (input))

 (if data
   (progn
     (setq data (xuly (car data) (cadr data)))
     (setq data (vl-remove nil data))
     (save data)
   )
   (alert
     "That bai\nTap hop chon phai bao gom cac cap Point va Text"
   )
 )
)

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
tomboy    20

Chào các pac trên diễn đàn. Mình có vấn đề này nhờ các pac giup mình với

Trong file các của mình có các text số bây giờ mình muốn cộng tất cả các text số đó lại, có pác nào biết lệnh làm được việc đó không hay lisp nào sử lý được không chỉ giúp mình với. file cad của mình đây: http://www.cadviet.com/upfiles/3/tong_text.dwg

Bạn dùng thu­ cái này nhé

(defun c:sum( / sset i entn entg n tong)
 (setq sset(ssget '((0 . "TEXT"))))
 (setq i 0 tong 0)
 (while (setq entn(ssname sset i))
   (setq i ( + i 1))
   (setq entg(entget entn))
   (setq n(atof(cdr(assoc 1 entg))))
   (setq tong(+ tong n))
   )
 (setq p(getpoint "\nChon diem ghi gia tri:"))
 (setq ht(getvar "textsize"))
 (command "text"  "j" "MC" p ht 0 (rtos tong 2 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
Readdy    0
thiep, on Sep 4 2009, 16:40, said:Tuynh: Mình đưa file lên đây http://www.cadviet.c...iles/2/2d3d.dwg đường 2d poline có cao độ là 10, đường 3d poline có cao độ khác nhau tại các điểm point, bạn có lisp nào mà khi pick vào đường 2d poline thì tại các điểm point hiện cao độ cho mình nhập theo ý muốn và đường 2d poline chuyển thành 3d poline. Chào Tuynh, lisp sau đây, yêu cầu Bạn pick các node của polyline sẽ biến 2D polyline thành 3D polyline. Sau đó bạn tiếp tục thay đổi độ cao các node của 3d polyline ;;; Lisp thay doi do cao cac node cua POLYLINE ;;; copyright by Thiep 7/2009 ;;; yeu cau: cai dat day du Expresstools ;;;-------------------------- (defun DXF (code en) (cdr (assoc code (entget en)))) ;;;--------------------- (defun SAVE_MODE () (command "UCS" "W" "") (setq OLD_OSMODE (getvar "OSMODE") OLD_CECOLOR (getvar "CECOLOR") OLD_AUTOSNAP (getvar "AUTOSNAP") OLD_ORTHOMODE (getvar "ORTHOMODE") ) (setvar "cmdecho" 0) (setvar "plinegen" 1) ) (defun RESTORE () (setvar "osmode" OLD_OSMODE) (setvar "AUTOSNAP" OLD_AUTOSNAP) (setvar "ORTHOMODE" OLD_ORTHOMODE) (setvar "CECOLOR" OLD_CECOLOR) (setvar "cmdecho" 1) ) ;;;-------------------------- ;;;---------------------------------------- (defun 3DPoly (Lp *ModelSpace* / PntArr) (setq PntArr (vlax-make-safearray vlax-vbDouble (cons 0 (1- (length Lp))) ) ) (vlax-safearray-fill PntArr Lp) (vla-Add3Dpoly *ModelSpace* PntArr) ) ;;;----------------------------------- (vl-load-com) (defun c:3dp (/ ActDoc *Model* wp lwp Obj n pn pcl Pe lstP Elev lt lstN) (SAVE_MODE) (setvar "osmode" 1) (setq ActDoc (vla-get-ActiveDocument (vlax-get-acad-object)) *Model* (vla-get-ModelSpace ActDoc) ) (while (setq pn (getpoint "\nPick a point on Polyine: ")) (setq lwp (ssname (ssget pn) 0)) (redraw lwp 3) (setq heinode (getreal "\nEnter height of node: ") obj (vlax-ename->vla-object lwp) lstP (ACET-GEOM-VERTEX-LIST lwp) ) (if (eq (dxf 0 lwp) "LWPOLYLINE") (progn (setq Elev (vla-get-Elevation obj)) (setq lstN nil) (foreach lt lstP (if (and (eq (car lt) (car pn)) (eq (cadr lt) (cadr pn))) (setq lt (list (car lt) (cadr lt) heinode)) (setq lt (list (car lt) (cadr lt) Elev)) ) (setq lstN (append lt lstN)) ) (vla-update (3DPoly lstN *Model*)) (vla-delete obj) ) (progn (setq lstP (ACET-GEOM-VERTEX-LIST lwp)) (setq lstN nil) (foreach lt lstP (if (and (eq (car lt) (car pn)) (eq (cadr lt) (cadr pn))) (setq lt (list (car lt) (cadr lt) heinode)) ) (setq lstN (append lt lstN)) ) (vla-update (3DPoly lstN *Model*)) (vla-delete obj) ) ) ) (RESTORE) (princ "\nChuc cac ban vui ve! Thiep") (princ) ) Tuy nhiên, nếu bạn thay đổi 1 polyline có hàng 100 node thì nên dùng cách khác nhanh hơn: Dùng bảng kê tọa độ trong Excel đổi qua đuôi *.csv, sau đó xây dựng 1 3D polyline theo 1 lisp khá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
dtvhtc    0

Hề hề hề,

Căn cứ vào cái file lisp và file dwg bạn gửi, mình thấy có vài câu hỏi muốn trao đổi lại như sau:

1/- File lisp của bạn chỉ cho xuất tọa độ của các point có trên bản vẽ. Các point này đã được tạo trước và là điểm đặt của các tetxt số hiệu điểm. Vậy tại sao bạn không chọn các text để xử lý mà lại chọn các point????

2/- Trên bản vẽ của bạn liệu có thể xuất hiện các text không phải là số hiệu của điểm hay không???

3/- Bạn có thể quy hoạch các text số hiệu điểm về một lớp riêng biệt hay không???

4/- Các tọa độ z liệu có còn nhất thiết phải xuất ra file hay không vì như bạn nói đã xử lý cho nó về 0 hết cả rồi.

 

Thực ra cái yêu cầu của bạn hoàn toàn có thể thực hiện được. Song cần hiểu rõ cấu trúc file dwg của bạn mới có thể làm đúng được.

Tỷ như với cái file dwg bạn gửi, đâu có cái lwpolyline nào mà tại sao lisp lại phải đưa vào ????

Hề hề hề.

Chào anh phamthanhbinh em xin trao đổi thêm cùng anh vài ý như anh đã đề cặp:

1/- em lựa chọn xuất tọa độ các point là vì trong các file dwg của em hiện giờ không thể đưa các text về cùng vị trí các point được nữa.

2/- trên file dwg ngoài cac text số hiệu của point ra không còn text nào khác

3/- quy hoạch các text về cùng 1 lớp riêng biệt thì trong các file dwg của em hiện giờ hoàn toàn làm được

4- Hiện giờ thì em không cần sử dụng cao độ z, nhưng em nghĩ sắp tới đây sẽ cần.

Đúng là trong file dwg không có lwpolyline nào. tại vì em không am hiểu nhiều vì lisp nên em seach trên diễn đàn về không biết chỉnh sửa mong anh thông cảm.

Nge anh nói yêu cầu của em anh có thể giúp được em mừng quá!!!

CHÀO 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
duyhung    9

Mình muốn mọi người giúp một chút việc thế này?

Mình muốn tạo một block att VD hình vuông tag có giá trị 10.

Lisp được tạo sẽ chọn các block trên bản vẽ, tính tổng và xuất kết quả ra text.

VD chọn được 6block att thì kết quả 10+10+10+10+10+10=60.

Code của bác Hoành trên diễn đàn post khá hay nhưng nó là visual lisp thì phải,mình chỉ biết 1 tẹo về lisp nên cái này mù mờ quá.

http://www.cadviet.com/forum/index.php?showtopic=9553

Mong mọi người chỉ giáo.

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
phamngoctukts    708

Mình muốn mọi người giúp một chút việc thế này?

Mình muốn tạo một block att VD hình vuông tag có giá trị 10.

Lisp được tạo sẽ chọn các block trên bản vẽ, tính tổng và xuất kết quả ra text.

VD chọn được 6block att thì kết quả 10+10+10+10+10+10=60.

Code của bác Hoành trên diễn đàn post khá hay nhưng nó là visual lisp thì phải,mình chỉ biết 1 tẹo về lisp nên cái này mù mờ quá.

http://www.cadviet.com/forum/index.php?showtopic=9553

Mong mọi người chỉ giáo.

Thanks

Cái yêu cầu của bạn mâu thuẫn quá. Nói tóm lại là bạn muốn viết lisp tạo block hay là bạn đã có sẵn block rồi chỉ việc tính kết quả 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
vunguyen90    1

các pro cho em hỏi. em có down được 1 lisp thống kê. khi xuất kết quả ra các sồ bị bôi mờ màu xám. Vậy làm thế nào để nó bị mất cái viền màu xám đấy đi mà chỉ hiện số 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
phamngoctukts    708

để em up 1 file cad lên trình bày cho bác hiểu

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

đây là file cad trình bày ý tưởng của em.

Của bạn đây

(defun c:tag()
(vl-load-com)
 (setq sslist (acet-ss-to-list(ssget '((0 . "INSERT")))) kq 0)
(foreach ent sslist
 (setq at (entget(entnext ent)))
 (if (= (cdr(assoc 0 at)) "ATTRIB")
   (setq kq (+ kq (atof(cdr(assoc 2  at)))))
  )
 )
 (alert (strcat "Ket qua la: " (rtos kq 2 0)))
 )

  • 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
Khách
Chủ đề này bây giờ đã bị đóng lại để trả lời thêm.

×