Đế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

#2481 vietha209

vietha209

    biết zoom

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

Đã gửi 04 November 2010 - 11:45 PM

Mình đang gặp phải một vấn đề này, nhờ các bạn trên diễn đàn giúp đỡ mình với: Mình có một bản vẽ như thế này, mình muốn lựa chọn 2 thằng kt ở giữa để thay đổi giá trị của nó, loay hoay cả ngày mà vẫn chưa nghĩ ra phải làm thuật toán ntn nữa, các bạn giúp mình với
http://www.cadviet.c...drawing1_30.dwg
  • 0

#2482 vailin

vailin

    biết zoom

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

Đã gửi 05 November 2010 - 08:03 AM

Theo e đoán thì ý bạn ấy là có 1 đoạn line dài,giờ kích chọn 2 điểm trên line đó thì đoạn line ở giữa (ạo bới 2 điểm kích) sẽ biến thành nét đứt bác ạ ^^


Bạn đoán đúng rùi : Ví dụ mình có 1 đoạn thẳng dài mình muốn cắt thành 3 mảnh ( break để cắt ), thì đoạn ở giữa tự động chuyển về nét đứt. E làm thủy lợi. những phần đào phải cho về nét đứt. e thường làm là break 2 điểm, rùi sau đó quay lại chọn nét đứt cho đoạn ở giữa. làm rất mất thời gian. Mong mọi người giúp đỡ !
  • 0

#2483 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 05 November 2010 - 08:24 AM

Mình đang gặp phải một vấn đề này, nhờ các bạn trên diễn đàn giúp đỡ mình với: Mình có một bản vẽ như thế này, mình muốn lựa chọn 2 thằng kt ở giữa để thay đổi giá trị của nó, loay hoay cả ngày mà vẫn chưa nghĩ ra phải làm thuật toán ntn nữa, các bạn giúp mình với
http://www.cadviet.c...drawing1_30.dwg

Chào bạn
Trong bản vẽ của bạn, Tue_NV thấy có từ "còn rất nhiều nữa" là ý làm sao?
"còn rất nhiều nữa" phải chăng là có rất nhiều đường kích thước như thế bạn muốn chọn các DIM ở giữa và không chọn DIM ở 2 đầu hay sao?

Không hiểu được ý của bạn như thế nào cũng chịu. Có muốn giúp cũng không được.
Bạn hãy trình bày vấn đề của bạn rõ ràng hơn mới được. Cần thiết thì upload file .dwg và nói rõ hơn. Vậy nhé
  • 0

#2484 KS.PhanThanhTu

KS.PhanThanhTu

    biết vẽ point

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

Đã gửi 05 November 2010 - 08:40 AM

Các bạn giúp mình 1 lisp mà khi đánh lênh break ở 2 đầu của 1 đoạn thẳng thì đoạn ở giữa tự chuyển thành nét đứt. Mong các bạn giúp 1 tay. Chân thành cảm ơn !

Bạn đoán đúng rùi : Ví dụ mình có 1 đoạn thẳng dài mình muốn cắt thành 3 mảnh ( break để cắt ), thì đoạn ở giữa tự động chuyển về nét đứt. E làm thủy lợi. những phần đào phải cho về nét đứt. e thường làm là break 2 điểm, rùi sau đó quay lại chọn nét đứt cho đoạn ở giữa. làm rất mất thời gian. Mong mọi người giúp đỡ !

http://s.cadviet.com/oc

Tên lệnh là br3

Chọn line cần cắt, điểm cắt 1 và 2,
chnđối tượng muốn gán cho đối tượng giữa

Ko những chỉ có thể biến thành nét đứt mà thành gì cũng đc
  • 1
KS Phan Thanh Tú.Email: Vansulich@yahoo.com

#2485 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 05 November 2010 - 11:00 AM

Mình đang gặp phải một vấn đề này, nhờ các bạn trên diễn đàn giúp đỡ mình với: Mình có một bản vẽ như thế này, mình muốn lựa chọn 2 thằng kt ở giữa để thay đổi giá trị của nó, loay hoay cả ngày mà vẫn chưa nghĩ ra phải làm thuật toán ntn nữa, các bạn giúp mình với
http://www.cadviet.c...drawing1_30.dwg

Chào bạn vietha209,
Cái gọi là thuật toán theo mình có thể là như sau:
!/- Chọn tất cả các đối tượng dimension.
2/- Tạo danh sách các nhóm đối tượng có cùng tọa độ y của điểm đặt
3/- Sắp xếp lại các đối tượng trong nhóm theo tọa độ x của điểm đặt.
4/- Tạo danh sách từ danh sách trên bỏ đi hai đối tượng đầu và cuối.
5/- Tiền hành các phép thay đổi đối với các đối tựng có trong danh sách mới này....

Bạn hãy thử xem. có gì vướng mắc hãy post lên...
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#2486 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 05 November 2010 - 07:19 PM

http://s.cadviet.com/oc

Tên lệnh là br3

Chọn line cần cắt, điểm cắt 1 và 2,
chnđối tượng muốn gán cho đối tượng giữa

Ko những chỉ có thể biến thành nét đứt mà thành gì cũng đc

Theo em là nên bỏ đoạn select object đối tượng ban đầu,mà thêm vào 1 function check 2 điểm thuộc đối tượng đường thẳng nào thì hàm trả về đối tượng đó,user sẽ bớt đi 1 thao tác.
Nếu tách đc việc chọn layer,linetype mẫu ra 1 module option có khả năng ghi nhớ nữa thì tuyệt vời hơn trong truờng hợp cụ thể này.Như vậy từ rất nhiều thao tác chỉ còn 2 thao tác click điểm đầu và điểm cuối.

PS : e thấy vui vì 1 vấn đề có thể giải quyết bằng nhiều cách,VBA và LISP hoàn toàn có thể hòa hợp với nhau :),nhiều khi với lisp thì cực kỳ khó khăn nhưng với VBA hay 1 NN lập trình khác lại dễ như trở bàn tay,nhưng do mọi ng lên hỏi là nghĩ ngay đến LISP,mà k để ý rằng các cao thủ các ngôn ngữ khác cũng không ngại j góp sức,vậy nên mong các bác hay lập trình các ngôn ngữ khác thường xuyên ngó vô bên này,để cùng đóng góp những hướng giải quyết mới cho cùng 1 vấ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


#2487 quanglon1989

quanglon1989

    biết zoom

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

Đã gửi 05 November 2010 - 09:20 PM

các bác viết hộ em cái lisp load layer trong bản vẽ này
http://www.cadviet.c...files/3/1_4.dwg
  • 0

#2488 KS.PhanThanhTu

KS.PhanThanhTu

    biết vẽ point

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

Đã gửi 05 November 2010 - 10:58 PM

Theo em là nên bỏ đoạn select object đối tượng ban đầu,mà thêm vào 1 function check 2 điểm thuộc đối tượng đường thẳng nào thì hàm trả về đối tượng đó,user sẽ bớt đi 1 thao tác.
Nếu tách đc việc chọn layer,linetype mẫu ra 1 module option có khả năng ghi nhớ nữa thì tuyệt vời hơn trong truờng hợp cụ thể này.Như vậy từ rất nhiều thao tác chỉ còn 2 thao tác click điểm đầu và điểm cuối.

PS : e thấy vui vì 1 vấn đề có thể giải quyết bằng nhiều cách,VBA và LISP hoàn toàn có thể hòa hợp với nhau :D,nhiều khi với lisp thì cực kỳ khó khăn nhưng với VBA hay 1 NN lập trình khác lại dễ như trở bàn tay,nhưng do mọi ng lên hỏi là nghĩ ngay đến LISP,mà k để ý rằng các cao thủ các ngôn ngữ khác cũng không ngại j góp sức,vậy nên mong các bác hay lập trình các ngôn ngữ khác thường xuyên ngó vô bên này,để cùng đóng góp những hướng giải quyết mới cho cùng 1 vấn đề


:bigsmile: May bạn ketxu nghĩ ra thế gọn hơn thật
Đây là code đã sửa http://tudaihiep.com/lisp/Break 3diem-catlayer moi.rar
http://tinyurl.com/3ylk4pb
Lệnh là BRC Chỉ việc chọn 2 điểm trên line bất kỳ ->Nếu chạy lần đầu sẽ đòi người dùng nhập đối tượng mẫu, nếu lần sau thì sẽ lấy của lần trước đó
muốn chỉnh,cấu hình lại là BRCC :)
Ngôn ngữ nào cũng thế cả, mình trước hay làm phần mềm nên quen bên của MS rồi :). quan trọng vẫn là thuật toán thôi :D
  • 0
KS Phan Thanh Tú.Email: Vansulich@yahoo.com

#2489 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 06 November 2010 - 12:06 AM

Hình như vẫn file cũ hay sao ý bác ạ :)
  • 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


#2490 KS.PhanThanhTu

KS.PhanThanhTu

    biết vẽ point

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

Đã gửi 06 November 2010 - 01:24 AM

Hình như vẫn file cũ hay sao ý bác ạ :)

http://tinyurl.com/3ylk4pb
ồ đưa nhầm thật hihi
đây là bản mới http://tinyurl.com/3ylk4pb
  • 1
KS Phan Thanh Tú.Email: Vansulich@yahoo.com

#2491 vothanhdn

vothanhdn

    biết vẽ ellipse

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

Đã gửi 06 November 2010 - 09:04 PM

Chào mọi người trên diễn đàn!
Hôm nay e có 1 yêu cầu nhờ mấy cao thủ trên diễn đàn giúp

Tình hình là e nhờ mọi người viết giúp e 1 lisp với yêu cầu như sau:
- Tự động chọn nhiều đối tượng (ssget 1 vùng đối tượng)
- Xét từng đối tượng được chọn, tạo point tại các giao cắt của object. Ví dụ như hình vuông thì có 4 điểm giao cắt, tạo 4 point tại 4 điểm đó, tam giác thì có 3 điểm)
- Lấy cao độ cácpoint vừa mới tạo ra tại các điêm giao cắt đó

Mong mọi người trên diễn đàn viết giúp e
Thanks & regard!!!


E gửi file CAD lên, nhờ các anh trong diễn đàn giúp e với..
DOWNLOAD
  • 0

Ứng dụng hỗ trợ thiết kế mạng lưới thoát nước VTD

  - Tính toán mạng lưới thoát nước

  - Vẽ trắc dọc, bình đồ thoát nước

......

Truy cập http://www.vtdvn.com

------------------------------------------------------------------------------------------

"Không có gì chắc chắn, chỉ có 1 điều chắc chắn là không có gì chắc chắn"...!!!


#2492 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 06 November 2010 - 09:11 PM

E gửi file CAD lên, nhờ các anh trong diễn đàn giúp e với..
DOWNLOAD

Xin bạn cho hỏi là lấy toạ độ hay là lấy cao độ vì cao độ các điểm đó bằng 0 thì bạn lấy làm chi?
  • 0
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#2493 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 06 November 2010 - 09:24 PM

E gửi file CAD lên, nhờ các anh trong diễn đàn giúp e với..
DOWNLOAD

Chào bạn vothanhdn,
Mình đã xem bản vẽ bạn post, việc lấy ra giao điểm của các pline này là hoàn toàn có thể và trên diễn đàn cũng đã có khá nhiều lisp về vấn đề này. Việc tạo các point tại các giao điểm cũng không trở ngại gì. Nhưng còn việc ghi text cao độ ra thì có vấn đề đó.
1/- Các text ấy ra sao??? Bạn phải có các text thì mới làm lisp được chớ??? Các text ấy lấy từ đâu vậy???
2/- Vị trí các text đó đặt thế nào, nằm ngang, nằm dọc, hay nằm xiên theo kiểu nào??? Bạn phải có quy định rõ ràng mới làm lisp được bạn ạ. Không cẩn thận là nó cưỡi lên nhau tá lả đó.

Bạn hãy post một bản vẽ cụ thể có chứa các text ban đầu và cái kết quả mà bạn muốn có nghen...
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#2494 vothanhdn

vothanhdn

    biết vẽ ellipse

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

Đã gửi 07 November 2010 - 08:58 AM

Xin bạn cho hỏi là lấy toạ độ hay là lấy cao độ vì cao độ các điểm đó bằng 0 thì bạn lấy làm chi?


Cảm ơn a đã góp ý, tuy nhiên các cao độ tại các điểm đó là giả thiết đã có 1 mặt phẳng được tạo, nghĩa là cao độ tại các điểm giao đã có và khác 0.

Chào bạn vothanhdn,
Mình đã xem bản vẽ bạn post, việc lấy ra giao điểm của các pline này là hoàn toàn có thể và trên diễn đàn cũng đã có khá nhiều lisp về vấn đề này. Việc tạo các point tại các giao điểm cũng không trở ngại gì. Nhưng còn việc ghi text cao độ ra thì có vấn đề đó.
1/- Các text ấy ra sao??? Bạn phải có các text thì mới làm lisp được chớ??? Các text ấy lấy từ đâu vậy???
2/- Vị trí các text đó đặt thế nào, nằm ngang, nằm dọc, hay nằm xiên theo kiểu nào??? Bạn phải có quy định rõ ràng mới làm lisp được bạn ạ. Không cẩn thận là nó cưỡi lên nhau tá lả đó.

Bạn hãy post một bản vẽ cụ thể có chứa các text ban đầu và cái kết quả mà bạn muốn có nghen...


Cảm ơn a! Các text được lấy ra chính là giá trị của các cao độ tại các đỉnh của các đối tượng được chọn. các text đều nằm ngang. Tuy nhiên còn 1 điều nữa là sẽ có các text tại các vị trí sẽ chồng lên nhau, nên phải overkills.
  • 0

Ứng dụng hỗ trợ thiết kế mạng lưới thoát nước VTD

  - Tính toán mạng lưới thoát nước

  - Vẽ trắc dọc, bình đồ thoát nước

......

Truy cập http://www.vtdvn.com

------------------------------------------------------------------------------------------

"Không có gì chắc chắn, chỉ có 1 điều chắc chắn là không có gì chắc chắn"...!!!


#2495 KS.PhanThanhTu

KS.PhanThanhTu

    biết vẽ point

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

Đã gửi 07 November 2010 - 12:33 PM

Cảm ơn a đã góp ý, tuy nhiên các cao độ tại các điểm đó là giả thiết đã có 1 mặt phẳng được tạo, nghĩa là cao độ tại các điểm giao đã có và khác 0.
Cảm ơn a! Các text được lấy ra chính là giá trị của các cao độ tại các đỉnh của các đối tượng được chọn. các text đều nằm ngang. Tuy nhiên còn 1 điều nữa là sẽ có các text tại các vị trí sẽ chồng lên nhau, nên phải overkills.

Bạn dùng 3D à :)
Tọa độ đỉnh như thế thì z <>0 à bạn
Nếu đã kèm tọa độ z như vậy thì về thuật toán là ok rồi
  • 0
KS Phan Thanh Tú.Email: Vansulich@yahoo.com

#2496 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 07 November 2010 - 01:24 PM

Cảm ơn a đã góp ý, tuy nhiên các cao độ tại các điểm đó là giả thiết đã có 1 mặt phẳng được tạo, nghĩa là cao độ tại các điểm giao đã có và khác 0.

Nói chung là vẫn đếch hiểu được ý của bạn. Vì file bạn up lên thì toạ độ các point bạn muốn lấy đều bằng 0 hết (các đường polyline có toạ độ z=0). Nếu bạn muốn người khác hiểu được ý của bạn thì bạn nên trình bày rõ ràng hơn. bạn nên phân rõ phần ban đầu và phần sau khi bạn muốn thực hiện.
  • 0
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#2497 tamkt

tamkt

    biết vẽ ellipse

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

Đã gửi 07 November 2010 - 05:06 PM

Chào bạn thangbkpro. Bạn sử dụng thử cái này :
@tamkt, nguyentuyen : Cái này thiết nghĩ không dùng Lisp. sử dụng CAD là được. Với lại, Lisp mà bạn nguyentuyen viết ra với điểm gốc Rotate ứng với điểm đầu Line. Nhìn vào CAD, nào đâu có biết điểm đầu hay là điểm cuối LINE cơ chứ??
Nếu User muốn xoay với điểm cuối Line thì sao, hoặc là điểm xoay nằm trên hoặc là không nằm trên đoạn LINE thì sao??
Lại còn áp dụng các đối tượng khác như bạn tamkt yêu cầu nữa : là LEADER và PLINE thẳng 1 phân đoạn nữa.

Lăn tăn chi bạn?? Áp dụng lệnh Rotate ới lựa chọn Reference và chế độ bắt điểm Parallel. Còn nếu thấy chế độ bắt điểm Parallel khó quá thì sử dụng lệnh Copy và sau đó là lệnh ROTATE hoặc là ALIGN

Tue_NV về quê có 1 ngày mà topic này rôm rả ghê. Chúc các bạn ngày cuối tuần vui vẻ. :)


Vâng, cám ơn anh, e thấy a nói có lý.
Cám ơn anh.
  • 0

#2498 hdt4151

hdt4151

    biết vẽ pline

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

Đã gửi 08 November 2010 - 09:14 AM

@Tue_VN: lisp đổi 2 table hôm trước bạn viết cho mình hôm nay lại thấy có trường hợp không đúng, bạn sửa giúp mình nhé :)


(defun c:cs(/ ss sx lis1 lis2 n i nn mm li li1)
;Copy right by Tue_NV
(vl-load-com)
(setq ss (ssget '((0 . "TEXT"))))
(setq sx (ssget '((0 . "TEXT"))))
(setq lis1 (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
(setq lis2 (vl-remove-if 'listp (mapcar 'cadr (ssnamex sx))))
(setq lis1 (vl-sort lis1 '(lambda (x y)
(if (equal (cadr (assoc 10 (entget x)))
               (cadr (assoc 10 (entget y)))
             (cdr (assoc 40 (entget x))) )
            (< (caddr (assoc 10 (entget x)))
               (caddr (assoc 10 (entget y)))
            )
(< (cadr (assoc 10 (entget x)))
               (cadr (assoc 10 (entget y)))
            )
             )
        ))
)
(setq lis2 (vl-sort lis2 '(lambda (x y)
(if (equal (cadr (assoc 10 (entget x)))
               (cadr (assoc 10 (entget y)))
             (cdr (assoc 40 (entget x))) )
            (< (caddr (assoc 10 (entget x)))
               (caddr (assoc 10 (entget y)))
            )
(< (cadr (assoc 10 (entget x)))
               (cadr (assoc 10 (entget y)))
            )
             )
        ))
)    
(setq n (sslength ss) i 0)

(if (= (length lis1) (length lis2))
(progn
   (while (< i (length lis1))

    (setq nn (entget (nth i lis1)))
    (setq mm (entget (nth i lis2)))

    (setq li (cdr (assoc 1 nn)))

    (setq li1 (cdr (assoc 1 mm)))


    (setq nn (subst (cons 1 li1) (assoc 1 nn) nn))
    (setq mm (subst (cons 1 li) (assoc 1 mm) mm))

    (entmod mm)
    (entmod nn)
    (setq i (+ i 1))

)
)
(alert "\n Hai chuoi khong bang nhau. Lisp khong thuc hien duoc")
)

(princ)

)


Link: http://www.mediafire...0qilr6a6bairt83 (như trong link thì sau khi thay đổi hàng chữ "AS" đẩy lên hàng phía trên.

- Việc thứ 2 mình muốn nhờ là từ lisp đổi cột có sẵn, thay vì chọn cột A , sau đó chọn cột B => đổi chỗ 2 cột thì đổi thành chọn nhiều cột : Chọn cột A1 , A2, ... An sau đó chọn các cột B1, B2 ... Bn => Đổi chỗ cột A1 với B1, A2 với B2 ... An với Bn .
Điều kiện:
- Số lượng text trong cột A1 A2 A3 .. An có thể khác nhau
- Số lượng text trong cột A1 phải bằng số lượng text trong cột B1 , A2 = B2 ... An = Bn

Lisp đổi cột cũ:

(defun c:cs(/ ss sx lis1 lis2 n i nn mm li li1)
(vl-load-com)
(setq ss (ssget '((0 . "TEXT"))))
(setq sx (ssget '((0 . "TEXT"))))
(setq lis1 (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
(setq lis2 (vl-remove-if 'listp (mapcar 'cadr (ssnamex sx))))
(setq lis1 (vl-sort lis1 '(lambda (x y)
(< (caddr (assoc 10 (entget x)))
(caddr (assoc 10 (entget y)))
)
)
)
)
(setq lis2 (vl-sort lis2 '(lambda (x y)
(< (caddr (assoc 10 (entget x)))
(caddr (assoc 10 (entget y)))
)
)
)
)
(setq n (sslength ss) i 0)

(if (= (length lis1) (length lis2))
(progn
(while (< i (length lis1))

(setq nn (entget (nth i lis1)))
(setq mm (entget (nth i lis2)))

(setq li (cdr (assoc 1 nn)))

(setq li1 (cdr (assoc 1 mm)))


(setq nn (subst (cons 1 li1) (assoc 1 nn) nn))
(setq mm (subst (cons 1 li) (assoc 1 mm) mm))

(entmod mm)
(entmod nn)
(setq i (+ i 1))

)
)
(alert "\n Hai chuoi khong bang nhau. Lisp khong thuc hien duoc")
)

(princ)

)

  • 0

#2499 httrungcad

httrungcad

    biết vẽ arc

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

Đã gửi 08 November 2010 - 11:21 AM

Đây là phần tiếp theo của topic Viết lisp theo yêu cầu, mời các bạn tiếp tục thảo luận.

Anh Hoành cho mình hỏi vấn đề này tí nha.mình tạo block 1 hay nhiều đối tượng bất lỳ,dù đơn giản hay phức tạp gì thì cái block mình vừa tạo xong lập tức biến mất.Mình hoang mang quá không biết làm sao.Vì công việc của mình sử dụng block nhiều.A Hoành và mọi người giúp mình với.Mình cảm ơn nhiều.
  • 0

#2500 httrungcad

httrungcad

    biết vẽ arc

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

Đã gửi 08 November 2010 - 11:32 AM

Chào bạn vothanhdn,
Mình đã xem bản vẽ bạn post, việc lấy ra giao điểm của các pline này là hoàn toàn có thể và trên diễn đàn cũng đã có khá nhiều lisp về vấn đề này. Việc tạo các point tại các giao điểm cũng không trở ngại gì. Nhưng còn việc ghi text cao độ ra thì có vấn đề đó.
1/- Các text ấy ra sao??? Bạn phải có các text thì mới làm lisp được chớ??? Các text ấy lấy từ đâu vậy???
2/- Vị trí các text đó đặt thế nào, nằm ngang, nằm dọc, hay nằm xiên theo kiểu nào??? Bạn phải có quy định rõ ràng mới làm lisp được bạn ạ. Không cẩn thận là nó cưỡi lên nhau tá lả đó.

Bạn hãy post một bản vẽ cụ thể có chứa các text ban đầu và cái kết quả mà bạn muốn có nghen...

Bạn THANHBIH oi! help mình với.Mình gặp rắc rối về bock.Mình tạo 1 block thì khi tạo xong cai bock đó lập tức biến mất.vậy nghĩa là sao hả bạn.Bị lỗi gì thế ThanhBình
  • 0