Đến nội dung


Hình ảnh
* * * - - 8 Bình chọn

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


  • Chủ đề bị khóa Chủ đề bị khóa
3783 replies to this topic

#3321 lenhatanh

lenhatanh

    biết vẽ polygon

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

Đã gửi 14 April 2011 - 04:04 PM

Cám ơn các Bác rất rất nhiều, chạy mỹ mãn luôn.
(acet-pline-make(list(mapcar '(lambda(x y) (list x y)) Lx Ly))) ;is OK
  • 0

#3322 thanhhuynh

thanhhuynh

    Chưa sử dụng CAD

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

Đã gửi 14 April 2011 - 06:21 PM

Các bác giúp em coi thử cái lisp này nó bị lỗi chỗ nào, turn on thì dc mà turn of là báo lỗi.
Thanks!
(defun vpOn (kw / kval doc adoc lao cnt inc cvprt blk pw)
(vl-load-com)
(if (= kw "ON")
(setq kval :vlax-true)
(setq kval :vlax-false)
)
(setq doc (vlax-get-object "AutoCad.Application")
adoc (vla-get-ActiveDocument doc)
lao (vla-get-Layouts adoc)
cnt (vla-get-Count lao)
inc 0
)
(repeat cnt
(setq cvprt (vla-Item lao inc)
inc (+ inc 1)
blk (vla-get-Block cvprt)
)
(vlax-for itm blk
(if
(vlax-property-available-p itm 'ViewportOn)
(progn
(vla-put-ViewportOn itm kval)
(vla-update itm)
)
(princ)
)
)
)
)

  • 0

#3323 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 14 April 2011 - 08:39 PM

Các bác giúp em coi thử cái lisp này nó bị lỗi chỗ nào, turn on thì dc mà turn of là báo lỗi.
Thanks!

(defun vpOn (kw / kval doc adoc lao cnt inc cvprt blk pw)
(vl-load-com)
(if (= kw "ON")
(setq kval :vlax-true)
(setq kval :vlax-false)
)
(setq doc (vlax-get-object "AutoCad.Application")
adoc (vla-get-ActiveDocument doc)
lao (vla-get-Layouts adoc)
cnt (vla-get-Count lao)
inc 0
)
(repeat cnt
(setq cvprt (vla-Item lao inc)
inc (+ inc 1)
blk (vla-get-Block cvprt)
)
(vlax-for itm blk
(if
(vlax-property-available-p itm 'ViewportOn)
(progn
(vla-put-ViewportOn itm kval)
(vla-update itm)
)
(princ)
)
)
)
)

Cho mình hỏi có phải bạn tham khảo lisp ở những link này không
http://forums.augi.c...ead.php?t=48519
Bạn TurnOn cái gì và Turn Off cái gì ?? ViewportOn của bạn có chức năng gì :)
P/S : cái này nên chuyển sang box Hỏi về lisp thì chuẩn hơn
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#3324 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 14 April 2011 - 09:03 PM

Cho mình hỏi có phải bạn tham khảo lisp ở những link này không
http://forums.augi.c...ead.php?t=48519
Bạn TurnOn cái gì và Turn Off cái gì ?? ViewportOn của bạn có chức năng gì :)
P/S : cái này nên chuyển sang box Hỏi về lisp thì chuẩn hơn

Chia sẻ! Chia sẻ! Chia sẻ!
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#3325 thanhhuynh

thanhhuynh

    Chưa sử dụng CAD

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

Đã gửi 14 April 2011 - 10:09 PM

Cho mình hỏi có phải bạn tham khảo lisp ở những link này không
http://forums.augi.c...ead.php?t=48519
Bạn TurnOn cái gì và Turn Off cái gì ?? ViewportOn của bạn có chức năng gì :)
P/S : cái này nên chuyển sang box Hỏi về lisp thì chuẩn hơn


cái này down ở đâu thì em ko nhớ hình như trên forum cua3 Autodesk.
Chức năng của nó là tắt (OFF) hoặc mở (ON) tất cả các Viewport đang có trong bản vẽ. Phần mở bản vẽ thì chạy OK nhưng phần turn OFF viewport thì báo lỗi "; error: Automation Error. Not applicable"
ko hiểu là lỗi gì.
Thanks các bác trước.

Error như sau

Command: (vpon "ON")

Command: (vpon "OFF")
; error: Automation Error. Not applicable
  • 0

#3326 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 14 April 2011 - 11:11 PM

Nếu bạn muốn On, OFF các VP thì mình nghĩ mẹo nhỏ này hợp hơn là dùng ON all/ OFF all (thực tế với lisp cái này cũng hok dễ, dính cái của bạn đó)

At the command prompt, enter the sysvar MAXACTVP and set it to a value of 2 (the lowest setting allowed)

You will notice that all the Viewports will turn off except for 1 (well, 2 actually because paperspace itself is a Viewport)

Now, here's the fun part. If you want to turn a different Viewport on, but turn off the Viewport that is already being displayed, simply turn on the desired Viewpor, and the other one will automatically turn off.

Now, here's the cool part. Even though all of the Viewports are turned "off", the can still plot!

Now, let's say you want to see two Viewports on.. simply enter MAXACTVP and set it to 3. Basically, the more Viewports you want to see, the higher the setting.

Using MAXACTVP saves a lot of regen time.


  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#3327 thanhhuynh

thanhhuynh

    Chưa sử dụng CAD

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

Đã gửi 14 April 2011 - 11:15 PM

Nếu bạn muốn On, OFF các VP thì mình nghĩ mẹo nhỏ này hợp hơn là dùng ON all/ OFF all (thực tế với lisp cái này cũng hok dễ, dính cái của bạn đó)

sysvar đó là số lượng (max) VP có thể ON trong 1 layout, mình muốn tắt tất cả VP trong bản vẽ.
Thanks bạn!
  • 0

#3328 tiendaica

tiendaica

    biết zoom

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

Đã gửi 14 April 2011 - 11:23 PM

xin lỗi vì câu hỏi ngớ ngẩn của mình lisp csvtable lúc trước mình dùng được nhưng sao nay dùng ko được, bạn nào có cho minh xin lại nhé! mong được giúp đỡ
  • 0

#3329 dtvhtc

dtvhtc

    biết zoom

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

Đã gửi 14 April 2011 - 11:31 PM

http://www.cadviet.c...s/3/xyzom_1.lsp đây là đoạn lisp mình mới nhờ trên diễn đàn viết dùm mình dùng để xuất tọa độ xyz của point ra file text. Khi mình load lên thì cad báo command: ; error: no function definition: input. sau đó mình gọi lệnh xyzo thì cad bao nil. Nhờ các bạn xem giúp lisp bị lỗi gì trình độ cad mình còn kém lắm các bạn đừng cười mình nhe.
  • 0

#3330 lacvanhoa

lacvanhoa

    biết vẽ line

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

Đã gửi 15 April 2011 - 02:30 AM

Mình có seach được trên diễn đàn lisp copy tăng dần này http://www.cadviet.c...tang_dancom.lsp nhưng chỉ copy tăng dần được từ 1 tới 99 thôi. Bác nào biết sửa lại giúp mình copy tăng dần từ 1 tới 10000 mình cám ơn nhiều
  • 0

#3331 danhgapro

danhgapro

    biết vẽ circle

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

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

Bạn post bản vẽ đó lên xem thử. Tôi chạy thì tốt.

Bạn kiểm tra lại dùm mình với, mình đã thử mấy máy rồi đều bị lỗi mất hình khi kick tính diện tích. Cảm ơn bạn
  • 0

#3332 thanhhuynh

thanhhuynh

    Chưa sử dụng CAD

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

Đã gửi 15 April 2011 - 09:13 AM

Các bác giúp em coi thử cái lisp này nó bị lỗi chỗ nào, turn on thì dc mà turn of là báo lỗi.
Thanks!

(defun vpOn (kw / kval doc adoc lao cnt inc cvprt blk pw)
(vl-load-com)
.............................................
)
)
)
)


Đã tìm ra cách giải quyết khác. Thanks các bác!
  • 0

#3333 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 15 April 2011 - 09:33 AM

Bạn kiểm tra lại dùm mình với, mình đã thử mấy máy rồi đều bị lỗi mất hình khi kick tính diện tích. Cảm ơn bạn

Bạn không thể post bản vẽ lên được à?
Bạn chạy thử trên bản vẽ này xem có lỗi không nhé?
http://www.cadviet.c...h_dien_tich.dwg
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#3334 tomboy

tomboy

    biết vẽ polygon

  • Members
  • PipPip
  • 72 Bài viết
Điểm đánh giá: 20 (tàm tạm)

Đã gửi 15 April 2011 - 11:43 AM

xin lisp tính diện tích từ một danh sách điểm.
tên hàm (TINHDT PS)
hàm hoàn trả giá trị là số thực và phải thoả mãn điều kiện sau:(xem hình minh hoạ trong file đính kèm)
PS là danh sách các điểm của 1 đa giác bất kỳ
ví dụ (setq ps '( p1 p2 p3 p4))
http://www.cadviet.c..._thong_minh.dwg
mình đang cần gấp trong ngày, nếu bạn nào giúp được mình xin cảm ơn và hậu tạ
LH: Tomboy 0919668875
  • 0

#3335 tomboy

tomboy

    biết vẽ polygon

  • Members
  • PipPip
  • 72 Bài viết
Điểm đánh giá: 20 (tàm tạm)

Đã gửi 15 April 2011 - 12:07 PM

http://www.cadviet.com/upfiles/3/xyzom_1.lsp đây là đoạn lisp mình mới nhờ trên diễn đàn viết dùm mình dùng để xuất tọa độ xyz của point ra file text. Khi mình load lên thì cad báo command: ; error: no function definition: input. sau đó mình gọi lệnh xyzo thì cad bao nil. Nhờ các bạn xem giúp lisp bị lỗi gì trình độ cad mình còn kém lắm các bạn đừng cười mình nhe.

đúng vậy, lỗi này chác do trình biên dịch của diễn đàn quá, chứ bản gốc mình còn lưu lại mà, bạn down lại nhé:
http://www.cadviet.com/upfiles/3/xyzo.lsp
  • 0

#3336 dtvhtc

dtvhtc

    biết zoom

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

Đã gửi 15 April 2011 - 11:42 PM

đúng vậy, lỗi này chác do trình biên dịch của diễn đàn quá, chứ bản gốc mình còn lưu lại mà, bạn down lại nhé:
http://www.cadviet.com/upfiles/3/xyzo.lsp

Cám ơn bạn nhiều nha! chúc bạn luôn vui vẽ và thành công trong công việc
  • 0

#3337 votanphu

votanphu

    biết vẽ spline

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

Đã gửi 16 April 2011 - 12:27 PM

MÌNH CÓ 1 LISP ĐÁNH MẶT CẮT TỰ ĐỘNG : LISP NÀY CHỈ ĐÁNH ĐƯỢC 1 BÊN À , CÁC BẠN CÓ THỂ XEM RÕ HƠN TREN FILE CAD :YÊU CẦU BÀI TOÁN
ĐỂ SỬ DỤNG LISP NÀY ĐẦU TIÊN CÁC BẠN COPY FILE CAD :MC1 VÀO TRONG SUPPORT CỦA CAD SAU ĐÓ LOAD LISP MC1 LEN GÕ LENH MC.
CAC BAN SUA DUM LISP NAY
CHO MINH NHE
http://www.cadviet.c...s/3/lisp_mc.rar
  • 0

#3338 dtvhtc

dtvhtc

    biết zoom

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

Đã gửi 17 April 2011 - 04:59 AM

chào bạn tomboy và các bạn trên diễn đàn,
http://www.cadviet.c...chaytoado_2.dwg
file cad này của mình chứa rất nhiều poit và số hiệu của point mình dùng lisp http://www.cadviet.c...es/3/xyzo_2.lsp của bạn tomboy viết dùm mình. mình dùng lisp này để xuất tọa độ xyz của các point và số hiệu của point ra file text, lisp chạy rất tốt nhưng mình chỉ xuất được khoảng 1/2 số lượng point trên file mình thôi, nhờ bạn tomboy và các bạn trên diễn đàn xem lại giúp mình, mình cám ơn trước nhe!
  • 0

#3339 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 17 April 2011 - 08:52 AM

trong lisp trên chỉ xuất text là điểm stt, và point là tọa độ x,y.
Mong được bạn giúp cho lisp xuất ra text stt - x - y - z - code
như file trên.
Cám ơn

Bạn copy dòng dưới đây
(setq data (xuly (car data) (cadr data) (caddr data)))
Và paste vào dòng này
(setq data (xuly (car data) (cadr data)))
Thế là được cả x,y,z.
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#3340 lenhatanh

lenhatanh

    biết vẽ polygon

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

Đã gửi 17 April 2011 - 06:45 PM

Các Bác giúp em tạo Block có Attribute và tự nhập cao độ cho nó với.
(Lệnh dưới mới chỉ tạo được block (không có Attribute):

...
(setq TenBlock (getstring "\n - Nhap ten block: "))
(setq Caodo (getreal "\n - Nhap cao đo: "))
(setq Diem (getpoint "\n - Chon Diem Dat Block: "))
(entmake (list (cons 0 "insert") (cons 2 TenBlock) (cons 10 Diem)))
...

Xin cảm ơn nhiều !
  • 0