Đến nội dung


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

Viết Lisp theo yêu cầu


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

#961 makhongbietnoi

makhongbietnoi

    biết vẽ point

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

Đã gửi 08 August 2008 - 09:22 AM

Cảm ơn các bác giúp đỡ. Dùng Lisp của bác Duy782006 vẫn nhanh hơn rất nhiều!
  • 0

#962 KHIEMHAO

KHIEMHAO

    biết vẽ line

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

Đã gửi 09 August 2008 - 06:50 AM

Tôi hiện đang Ctác tại 1 CTy Thiết kế điện, thường xuyên vẽ các MC mương chôn cáp điện . Nếu cứ dùng lệnh Copy sau đó chỉnh sữa thì rất ư là nhàm chán, các bác có thể viết giúp 1 lisp để vẽ mặt cắt này được không , hình mặt cắt kèm theo các kích thước có dấu ? là cần thay đổi, các đường kính ống cũng vậy, các bác có thể thêm hatch cát lấp vào bên trong các layer vẽ thì tùy các bác . Xin cám ơn trước ( file kèm theo MC.pdf
  • 0

#963 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 09 August 2008 - 11:35 AM

Tôi hiện đang Ctác tại 1 CTy Thiết kế điện, thường xuyên vẽ các MC mương chôn cáp điện . Nếu cứ dùng lệnh Copy sau đó chỉnh sữa thì rất ư là nhàm chán, các bác có thể viết giúp 1 lisp để vẽ mặt cắt này được không , hình mặt cắt kèm theo các kích thước có dấu ? là cần thay đổi, các đường kính ống cũng vậy, các bác có thể thêm hatch cát lấp vào bên trong các layer vẽ thì tùy các bác . Xin cám ơn trước ( file kèm theo MC.pdf

Mặt cắt nào cũng có 12 ống?
  • 0

#964 hvv

hvv

    Chưa sử dụng CAD

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

Đã gửi 09 August 2008 - 08:10 PM

Nói ra ngại quá ... em là lính mới nên có bác nào chỉ em cách add LSP , VLX ... nhúng cào cad ko ...
Nhân tiện chỉ cho em cách dấu hay xóa cái ... à bấm f2 thì hiện ra những tác vụ đã làm , muốn bản vẽ của ta không ai coppy được thí sao nhỉ ,,, hì :s_big:

Dễ ợt!
Bạn vào Tool/Load Applycation sau đó chọn tời file *.lsp hoặc *.VLXđể tải lên.
Nếu LISP có cả hộp thoại *.DCL bạn phải vào Tools/Option. Chọn thẻ File sau đó bạ add đuòng dẫn tới thư mục chứa file *DCL.
  • 0

#965 hvv

hvv

    Chưa sử dụng CAD

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

Đã gửi 09 August 2008 - 08:20 PM

Multi đây:


(defun c:ND (/ Ename Elist Msg Oldtext Oldlist Newtext Newlist)
(defun ss2ent (ss / sodt index lstent)
(setq
sodt (cond
(ss (sslength ss))
(t 0)
)
index 0
)
(repeat sodt
(setq ent (ssname ss index)
index (1+ index)
lstent (cons ent lstent)
)
)
(reverse lstent)
)

(prompt "\nChon chu muon chinh.")
(setq ssEname (ssget '((0 . "TEXT"))))
(if (not ssEname)
(prompt "\nChua chon duoc doi tuong.")
(progn
(prompt "\nChon chu lam chuan.")
(setq lstEname (ss2ent ssEname))
(setq Newtext (car (entsel)))
(setq Newtext (entget Newtext))
(setq Newtext (assoc 1 Newtext))
(setq Newtext (cdr Newtext))
(setq Newlist (cons '1 Newtext))

(foreach Ename lstEname
(setq Elist (entget Ename))
(setq Oldlist (assoc 1 Elist))
(setq Oldtext (cdr Oldlist))
(setq Elist (subst Newlist Oldlist Elist))
(entmod Elist)
)
) ; end progn
) ; end if
(princ)
)



Muốn Multi thì bạn chỉ cần thêm vồng lặp While là xong thôi>
  • 0

#966 ph168xd

ph168xd

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 779 Bài viết
Điểm đánh giá: 309 (khá)

Đã gửi 10 August 2008 - 12:08 AM

Bạn thử lisp của gia_bach chưa?


Không phải. Em muốn lish scale tất cả các block chèn vào bản vẽ theo tỷ lệ dim hiện hành
Chứ không chỉ có mỗi block tên "cot"
Gõ lệnh insert, đánh tên 1 block bất kỳ có trong bản vẽ
Lish sẽ scale block đó theo tỷ lệ dim hiện hành
  • 0

#967 khanhduydang

khanhduydang

    biết zoom

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

Đã gửi 10 August 2008 - 12:18 AM

Chào anh Nguyen Hoanh!
E có sử dụng lisp mà a đã viết để sắp xếp các lớp dim theo 1 khoảng cách xác định.
TRong lisp của a là 270 cho các lớp dim cách nhau.
Đoạn lisp đó cũng rất hoàn chỉnh nhưng a có thể cho người dùng chọn khoảng cách các lớp dim thay vì cứ 270.
VD: khoảng cách các lớp dim của em có lúc là 200,300, hay một số bất kỳ.
Chân thành cảm ơn!
  • 0

#968 KHIEMHAO

KHIEMHAO

    biết vẽ line

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

Đã gửi 10 August 2008 - 10:57 AM

Mặt cắt nào cũng có 12 ống?

Mỗi mặt cắt ít nhất là 1 và nhiều nhất là 12 ống , ít nhất là 1 lớp và nhiều nhất là 3 lớp lúc nào cũng tính từ tim mương đó bác Hòanh ạ, Theo ý tôi thì có thê khi nhập khỏang cách thì cho nó =0 thì 2 họac nhiều ống sẽ chồng lên nhau thôi, mong bá Hòanh giúp một tay. Cám ơn nhiều
  • 0

#969 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 10 August 2008 - 11:42 AM

Mỗi mặt cắt ít nhất là 1 và nhiều nhất là 12 ống , ít nhất là 1 lớp và nhiều nhất là 3 lớp lúc nào cũng tính từ tim mương đó bác Hòanh ạ, Theo ý tôi thì có thê khi nhập khỏang cách thì cho nó =0 thì 2 họac nhiều ống sẽ chồng lên nhau thôi, mong bá Hòanh giúp một tay. Cám ơn nhiều

Nếu bạn cần vẽ 7 ống, bạn sẽ vẽ 8 ống rồi xóa thủ công đi 1 ống?

Đừng làm thế vì như thế là phản autolisp. Bạn hãy upload 1 file dwg chứa hình mặt cắt của bạn lên diễn đàn, Trong file dwg đó, bạn hãy thể hiện 12 mặt cắt vẽ từ 1-12 ống. Tôi sẽ giúp bạn có được lisp tự động hoàn toàn.
  • 0

#970 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1431 Bài viết
Điểm đánh giá: 1425 (rất tốt)

Đã gửi 11 August 2008 - 07:55 AM

Không phải. Em muốn lish scale tất cả các block chèn vào bản vẽ theo tỷ lệ dim hiện hành
Chứ không chỉ có mỗi block tên "cot"
Gõ lệnh insert, đánh tên 1 block bất kỳ có trong bản vẽ
Lish sẽ scale block đó theo tỷ lệ dim hiện hành


Bạn tạo vòng lặp nhập tên Block cần scale tỉ lệ thay cho tên "cot".
  • 0

#971 lengan

lengan

    biết vẽ ellipse

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

Đã gửi 11 August 2008 - 03:26 PM

Trong Cad2008 có lệnh Torient có thể quay text theo hướng của một đường bất kỳ mà không cần dùng đến lệnh rotate với tham số R. Vậy có lệnh nào tương tự như vậy mà có thể áp dụng cho các đối tượng khác như hình chữ nhật, hình tam giác vv.. không các bác. Nếu không có nhờ các bác viết hộ cho một lisp như vậy được không.
  • 0

#972 xuanhai

xuanhai

    biết vẽ line

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

Đã gửi 11 August 2008 - 05:59 PM

Xin nhờ A N Hoành viết dùm e cái lisp này.
E có hàng loạt text font Vni - times có dạng chữ số dấu chấm (.) thập phân.
E muốn có 1 lisp chuyển dấu chấm (.) thành dấu phẩy (,).
VD: 1.325 thành 1,325
cám ơn nhiều.
  • 0

#973 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 11 August 2008 - 07:33 PM

Xin nhờ A N Hoành viết dùm e cái lisp này.
E có hàng loạt text font Vni - times có dạng chữ số dấu chấm (.) thập phân.
E muốn có 1 lisp chuyển dấu chấm (.) thành dấu phẩy (,).
VD: 1.325 thành 1,325
cám ơn nhiều.

bạn dùng lệnh FIND của AutoCAD.
  • 1

#974 KHIEMHAO

KHIEMHAO

    biết vẽ line

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

Đã gửi 11 August 2008 - 08:14 PM

Tôi xin up lên các mặt cắt mương cáp nhờ bác Hòanh giúp dùm, ghi chú: các kích thước ký hiệu h và v sẽ thay đổi tùy theo hạng mục, ĐK các lọai ống cũng vậy, bác Hòanh có thể thêm hatch cho phần cát lấp và đất đắp tùy ý. Chân thành cám ơn bác đã quan tâm ( link của DWG : MCMUONGCAP.rar)
  • 0

#975 thiep

thiep

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 369 Bài viết
Điểm đánh giá: 260 (khá)

Đã gửi 12 August 2008 - 03:47 PM

Trong Cad2008 có lệnh Torient có thể quay text theo hướng của một đường bất kỳ mà không cần dùng đến lệnh rotate với tham số R. Vậy có lệnh nào tương tự như vậy mà có thể áp dụng cho các đối tượng khác như hình chữ nhật, hình tam giác vv.. không các bác. Nếu không có nhờ các bác viết hộ cho một lisp như vậy được không.

Lệnh ROTATE đã có đủ rồi, chọn đối tượng cần quay, chọn R (reference), chế độ bắt dính là parallel, chọn đường thẳng cần song song, OK.
  • 0

#976 PhucQuan

PhucQuan

    biết zoom

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

Đã gửi 13 August 2008 - 11:54 AM

Tôi xin up lên các mặt cắt mương cáp nhờ bác Hòanh giúp dùm, ghi chú: các kích thước ký hiệu h và v sẽ thay đổi tùy theo hạng mục, ĐK các lọai ống cũng vậy, bác Hòanh có thể thêm hatch cho phần cát lấp và đất đắp tùy ý. Chân thành cám ơn bác đã quan tâm ( link của DWG : MCMUONGCAP.rar)



Chào bạn!

Xem 12 mặt cắt của bạn em có mấy câu hỏi sau:

1/ Khi nào thì ống xếp ngang khi nào thì ống xếp dọc (đối với mương có 2-4 ống) ? MC 5-7-9-11 ống thì như thế nào?

2/ Kích thước nào phải nhập vào và các kích thước nào được tính ra từ các kích thước khác?
  • 0

#977 konig

konig

    biết zoom

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

Đã gửi 13 August 2008 - 03:29 PM

Nhờ bạn giúp tạo lisp làm công việc sau
Hình đã gửi
Các hình ban đầu có sẵn các đường tâm, từ đường tâm dọc đó offset sang 2 bên một khoảng tuỳ theo yêu cầu người dùng (VD là 300), nếu nhỏ hơn 300 thì ko offset nữa. Sau đó điền các kích thước vào hình
Hình đã gửi
xin cảm ơn
  • 0

#978 tkkt04d1

tkkt04d1

    biết zoom

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

Đã gửi 13 August 2008 - 05:08 PM

em muốn nhờ các anh viết giùm cái lisp có nội dung như sau:
+tính diện tích(=cách pick hoặc chọn đường bao)
+ghi ra kết quả với mũi tên và text dạng block thuộc tính
ví dụ như:http://www.cadviet.com/upfiles/new_block_5.dwg
  • 0

#979 tkkt04d1

tkkt04d1

    biết zoom

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

Đã gửi 13 August 2008 - 05:11 PM

ah em quên khi gõ lệnh "dt" lisp sẽ cho mình chọn đường bao rồi hỏi tên ô: sau đó mới ra block.cám ơn các anh nha
  • 0

#980 tkkt04d1

tkkt04d1

    biết zoom

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

Đã gửi 13 August 2008 - 05:12 PM

ah em quên khi gõ lệnh "dt" lisp sẽ cho mình chọn đường bao rồi hỏi tên ô: sau đó mới ra block.cám ơn các anh nha
  • 0