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

#3641 victor85

victor85

    biết lệnh stretch

  • Members
  • PipPipPip
  • 169 Bài viết
Điểm đánh giá: 10 (tàm tạm)

Đã gửi 18 June 2011 - 09:04 AM

các bác pro viết dùm em cái lisp nè với:
Chọn riêng tất cả các đối tượng fakedim gom chung vào 1 layer tên là fakedim để tiện cho việc quản lý với!
  • 0

#3642 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 18 June 2011 - 09:21 AM

các bác pro viết dùm em cái lisp nè với:
Chọn riêng tất cả các đối tượng fakedim gom chung vào 1 layer tên là fakedim để tiện cho việc quản lý với!

Cái này không cần Lisp đâu. Bạn dùng lệnh FIND -> gõ ~<> vào Find text string
Sử dụng chức năng select All của lệnh Find để chọn ra những anh dim này.

Khi chọn ra được những Fakedim (những dim có không có chứa <> , tức là chứa chuỗi ~<>)
thì công việc gom chung vào 1 layer tên là fakedim đó đơn giản rồi, phải không bạn?
  • 0

#3643 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 18 June 2011 - 09:40 AM

các bác pro viết dùm em cái lisp nè với:
Chọn riêng tất cả các đối tượng fakedim gom chung vào 1 layer tên là fakedim để tiện cho việc quản lý với!

Nếu lười qs thì victor làm thế này :
(defun c:2fd () (command ".change" (ssget "X" '((0 . "DIMENSION")(1 . "?*"))) "" "P" "LA" "fakedim" ""))
Layer fakedim phải tạo từ trước, nếu cần thì có thể copy dòng command tạo layer vào nhé.
P/S : chiều nay PS k victor ơi, mưa này làm j ^^
  • 1

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


#3644 victor85

victor85

    biết lệnh stretch

  • Members
  • PipPipPip
  • 169 Bài viết
Điểm đánh giá: 10 (tàm tạm)

Đã gửi 18 June 2011 - 09:48 AM

Cái này không cần Lisp đâu. Bạn dùng lệnh FIND -> gõ ~<> vào Find text string
Sử dụng chức năng select All của lệnh Find để chọn ra những anh dim này.

Khi chọn ra được những Fakedim (những dim có không có chứa <> , tức là chứa chuỗi ~<>)
thì công việc gom chung vào 1 layer tên là fakedim đó đơn giản rồi, phải không bạn?


Đã thử và không đc bác ạ. nó không chọn đc đối tượng nào cả. em dùng cad10
http://cc5.upanh.com...9694.5sq0/1.png
  • 0

#3645 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 18 June 2011 - 10:01 AM

Đã thử và không đc bác ạ. nó không chọn đc đối tượng nào cả. em dùng cad10
http://cc5.upanh.com...9694.5sq0/1.png

Bạn tick vào Use wildcards ở mục Search options -> Bấm nút Find -> Sau đó là nút select all
Hình đã gửi
Chúc bạn thành công
  • 1

#3646 790312

790312

    biết lệnh fillet

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

Đã gửi 18 June 2011 - 11:54 AM

E có nhờ bác Tue sửa giùm e 1 tí trong đoạn lisp bác viết giùm e,chưa thấy bác trả lời.Bài 3818 bác ah.Mong bác xem giúp.Thanks.
  • 0

#3647 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 18 June 2011 - 03:24 PM

E làm thử theo bác thì không được bác ah.
FontName (getstring "\nT\U+00EAn Font<vhelvcn.ttf> :")

Hề hề hề,
Quả nhiên là không được thật. Do mình lầm lẫn, hàm getstring không phù hợp để dùng keyword. Xin lỗi bạn nhiều nhiều...
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3648 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 18 June 2011 - 04:13 PM

Nhờ bác bỏ giùm bảng hiện 'Ban chon DIMENSION STYLE ' giùm e,khi sổ danh sách ta chọn thì sẽ chuyển về dimension style ta chọn,không cần hiện bảng 'Ban chon DIMENSION STYLE 'e đã thử sửa trong lisp thì nó báo lỗi.Cảm ơn bác nhiều.

E có nhờ bác Tue sửa giùm e 1 tí trong đoạn lisp bác viết giùm e,chưa thấy bác trả lời.Bài 3818 bác ah.Mong bác xem giúp.Thanks.

@790312 : Bài viết 3818 là bài viết của Tue_NV viết để thay đổi bề rộng chiều cao , Style của chữ trong Block ATT, chẳng ăn nhập gì với DIMENSION STYLE cả, chẳng hiểu yêu cầu của bạn là như thế nào nữa

bác nào giúp em cái này với, công việc cắt tạo góc xoay bình đồ thường phải lặp lại rất nhiều lần.
thường em hay làm như này. kẽ một đường thẳng cắt ngang qua(hai đường) rồi cắt hai phân rời ra rồi lại chọn cái phần cần xoay và nhập góc để xoay.
xin nhờ các bác giúp em một cái lips
- khi gạch một đường thẳng cắt ngang qua thì tự động hai phần sẽ được cắt rời nhau
- chương trình sẽ hỏi bạn cần xoay bên trái hay phải(nhập vào)
- và sau do là nhập góc cần xoay
giúp em với nhé. chân thành cảm ơn

@zizpo_hetxang : Khi xoay thì dữ liệu nhập vào ngoài góc xoay còn có tâm xoay? Nếu xoay bên trái thì xoay tại đâu? Xoay bên phải thì xoay tại đâu?
bạn nên gửi file .dwg, kết quả và viết rõ hơn vấn đề của bạn

Nhờ các cao thủ giúp đỡ!

Mình có file cad như sau: http://www.cadviet.c.../3/vi_du_01.dwg
Trong đó mình có tập hợp các điểm cao trình được mô tả bằng các nhóm text. Các nhóm text có cấu tạo bởi 3 đối tượng, text A, dấu chấm point, text B. (Chú ý rằng điểm cao trình có tọa độ trùng với tọa độ của dấu chấm point)
Chân text, dấu chấm point và đầu text B nằm trên cùng 1 đường thẳng (cùng giá trị Y); và cách nhau lần lượt các khoảng bằng 0.4; cao độ text = 2.

Mong các cao thủ viết giúp mình lisp có thể thực hiện các yêu cầu sau:
1. Chọn tất cả các nhóm text ở trên, sử dụng lisp biến 2 đối tượng rời rạc A1,B1; A2, B2; ...An, Bn thành các số thập phân A1.B1; A2.B2;...An.Bn với dấu chấm trong text trùng với dấu chấm point ban đầu.
2. Từ các text được nối lại ở trên, cộng hoặc trừ giá trị các text này cho cùng 1 hằng số. (bước này có thể ko cần thiết, vì ta có thể đi đường vòng hơn bằng cách xuất text ra cell xử lý rồi xuất ngược vào cad, nhưng nếu lisp làm được thì quá tuyệt)
3. Từ tập hợp các text đã được xử lý ở bước 2 hoặc tập hợp text mới, tách thành các tập hợp text giống như ban đầu (Nghĩa là mỗi text A'.B' tách thành 3 đối tượng A',và B' có vị trí không dổi giống nhóm A,B ban đầu . xem thêm trong bản vẽ.
Xin chân thành cảm ơn!

@gasmanc : Bước thứ 2 cũng cần thiết đấy bạn. Không có bước 2 sao có bước 3 được. Hằng số mà bạn nói ấy luôn luôn bằng nhau khi duyệt qua từng cặp Text và point à? Không biết hằng số đấy có bằng nhau không? Hay là có quy luật?
Có lẽ bạn nên upload 1 file .dwg chứa một số đối tượng để người viết Lisp cho bạn có thể test để kiểm tra, Hơn nữa bạn nên nói rõ hơn về kết quả bạn muốn nhé. Còn kết quả thì Minh họa 1 vài kết quả đạt được thôi
  • 0

#3649 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 18 June 2011 - 04:47 PM

Hề hề hề,
Quả nhiên là không được thật. Do mình lầm lẫn, hàm getstring không phù hợp để dùng keyword. Xin lỗi bạn nhiều nhiều...

Hàm getkword thì được bác phamthanhbinh ạ.
  • 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.


#3650 790312

790312

    biết lệnh fillet

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

Đã gửi 18 June 2011 - 09:07 PM

@790312 : Bài viết 3818 là bài viết của Tue_NV viết để thay đổi bề rộng chiều cao , Style của chữ trong Block ATT, chẳng ăn nhập gì với DIMENSION STYLE cả, chẳng hiểu yêu cầu của bạn là như thế nào nữa

Bác Tue sao vậy,bác xem kỹ lại đi,e nhờ bác sửa từ lisp của bac gia_bach viết giùm e lisp sổ danh sách DIMENSION STYLE mà,bác xem kỹ lại bài 3818 đi,đó là ý e nhờ bác đó.
  • 0

#3651 lenhatanh

lenhatanh

    biết vẽ polygon

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

Đã gửi 19 June 2011 - 11:13 AM

Em nhờ các bác sửa cho em đoạn lisp "Gán Text cho các đường đồng mức" sau:
(em đã gán được Text cho các đường Đ.Mức nhưng không vẽ được hình chữ nhật hoặc
hình ô van bao quanh Text - để che một phần đường ĐM dưới Text).
- Yêu cầu của em là các hình này (hình chữ nhật hoặc hình ô van) bao quanh Text
và quay (xoay or cùng chiềU) theo chiều của các đường Đ.Mức...
Xin cảm ơn các Bác trước !
Link đến Files ACAD và Video ví dụ: http://www.mediafire...zlrdmn9a92l6z#1

(defun C:Du-text (/ n cdo che pi1 pi2 pi3 Am sokytu caotext daitext AM
pi1a pi1b pi3a pi3b)

(setq cdo (getreal "\nCao Do Bat Dau Cua Duong Dong_Muc...: "))
(setq che (getreal "\nChenh Cao or Buoc nhay Cua Duong D.Muc...: "))
(while (setq n 1)
(command "Osmode" 512)
(setq pi1 (getpoint "\nDiem Dat Text <Esc to Cancel>...: "))
(setq pi2 (getpoint "\nDiem Thu Hai <Esc to Cancel>...: "))
(setq AM (angle pi1 pi2))
(setq sokytu (strlen (rtos cdo 2 2)) caotext (getvar "Textsize")
daitext (* sokytu caotext) pi3 (polar pi1 AM daitext))
(cond
((> (cadr pi1) (cadr pi2))
(setq pi1a (polar pi1 (- (Du-rtd (- 6.28319 AM)) 90) (+ (* caotext 0.5) 0.1))
pi1b (polar pi1 (Du-rtd AM) (+ (* caotext 0.5) 0.1))
pi3a (polar pi3 (/ pi 2) (+ (* caotext 0.5) 0.1))
pi3b (polar pi3 (-(/ pi 2)) (+ (* caotext 0.5) 0.1))))
((< (cadr pi1) (cadr pi2))
(setq pi1a (polar pi1 (/ pi 2) (+ (* caotext 0.5) 0.1))
pi1b (polar pi1 (-(/ pi 2)) (+ (* caotext 0.5) 0.1))
pi3a (polar pi3 (/ pi 2) (+ (* caotext 0.5) 0.1))
pi3b (polar pi3 (-(/ pi 2)) (+ (* caotext 0.5) 0.1))))
((= (cadr pi1) (cadr pi2))
(setq pi1a (polar pi1 (- pi) (+ (* caotext 0.5) 0.1))
pi1b (polar pi1 0.0 (+ (* caotext 0.5) 0.1))
pi3a (polar pi3 (- pi) (+ (* caotext 0.5) 0.1))
pi3b (polar pi3 0.0 (+ (* caotext 0.5) 0.1))))
(T
(setq pi1a (polar pi1 (/ pi 2) (+ (* caotext 0.5) 0.1))
pi1b (polar pi1 (-(/ pi 2)) (+ (* caotext 0.5) 0.1))
pi3a (polar pi3 (/ pi 2) (+ (* caotext 0.5) 0.1))
pi3b (polar pi3 (-(/ pi 2)) (+ (* caotext 0.5) 0.1))))
)
(command "Layer" "M" "Wipeout" "")
(command "Osmode" 0 "_Wipeout" pi1a pi3a pi3b pi1b "")
(command "layer" "M" "Text_Cai" "")
(command "_text" "J" "ML" (polar pi1 AM 0.05) (Du-rtd AM) (rtos cdo 2 2))
(setq n (+ n 1) cdo (+ cdo che))
)
(command "layer" "S" "0" "")
(command "Osmode" 33 "color" "Bylayer" "cmdecho" 1 "ortho" "on" "redraw")
)

  • 0

#3652 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 19 June 2011 - 06:51 PM

Hàm getkword thì được bác phamthanhbinh ạ.

E dùng giống như bác nói:
chonfont (getkword "\nChon Font<vhelvcn.ttf> :")
Mà sao nó vẫn không hiểu.Thanks.
  • 0

#3653 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 19 June 2011 - 08:49 PM

E dùng giống như bác nói:
chonfont (getkword "\nChon Font<vhelvcn.ttf> :")
Mà sao nó vẫn không hiểu.Thanks.

Bạn phải dùng kết hợp với hàm initget nữa mới được. bạn hãy tham khảo trong help của CAD sẽ rõ hơ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.

#3654 codered8x

codered8x

    biết lệnh copy

  • Members
  • PipPipPip
  • 119 Bài viết
Điểm đánh giá: 18 (tàm tạm)

Đã gửi 20 June 2011 - 12:47 AM

Nhờ các bác giải thik hộ em cái đoạn code này với, nghĩ bại não ko ra.
Mục đích của hàm này là loại bỏ các phần tử trong danh sách tại các vị trí được xác định bởi giá trị của các phần tử trong danh sách khác.


(defun LM:RemoveItems ( items lst )
(if (and lst items)
(if (zerop (car items))
(LM:RemoveItems (mapcar '1- (cdr items)) (cdr lst))
(cons (car lst) (LM:RemoveItems (mapcar '1- items) (cdr lst)))
)
lst
)
)

Ví dụ :
_$ (LM:RemoveItems '(1 3 5) '("A" "B" "C" "D" "E" "F"))
("A" "C" "E")

  • 0

#3655 gasmanc

gasmanc

    biết vẽ line

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

Đã gửi 20 June 2011 - 09:19 AM

@790312 : Bài viết 3818 là bài viết của Tue_NV viết để thay đổi bề rộng chiều cao , Style của chữ trong Block ATT, chẳng ăn nhập gì với DIMENSION STYLE cả, chẳng hiểu yêu cầu của bạn là như thế nào nữa


@zizpo_hetxang : Khi xoay thì dữ liệu nhập vào ngoài góc xoay còn có tâm xoay? Nếu xoay bên trái thì xoay tại đâu? Xoay bên phải thì xoay tại đâu?
bạn nên gửi file .dwg, kết quả và viết rõ hơn vấn đề của bạn


@gasmanc : Bước thứ 2 cũng cần thiết đấy bạn. Không có bước 2 sao có bước 3 được. Hằng số mà bạn nói ấy luôn luôn bằng nhau khi duyệt qua từng cặp Text và point à? Không biết hằng số đấy có bằng nhau không? Hay là có quy luật?
Có lẽ bạn nên upload 1 file .dwg chứa một số đối tượng để người viết Lisp cho bạn có thể test để kiểm tra, Hơn nữa bạn nên nói rõ hơn về kết quả bạn muốn nhé. Còn kết quả thì Minh họa 1 vài kết quả đạt được thôi

Bài toán mình muốn giải quyết là muốn trừ tất cả cao độ trên bản vẽ đi 1 hằng số cố định.
Tuy vậy mình muốn tách ra làm 3 bài toán nhỏ để phục vụ những yêu cầu riêng biệt.
Mong các bạn giúp đỡ
  • 0

#3656 funnyzui

funnyzui

    biết vẽ arc

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

Đã gửi 20 June 2011 - 06:19 PM

Xin lisp liên quan đến chương trình thống kê thép.
xin chào các ae cadviet, funnyzui muốn xin các bạn viết cho 1 cái lisp có thể quét chọn 1 lần nhiều đối tượng (là block_thuộc tính) để update lại các giá trị thuộc tính của nó, thay vì như hiện giờ mình phải pick từng đối tượng 1 để update lại các cây thép có sự thay đổi về chiều dài, số lượng cấu kiện,...



File cad bên dưới, có ghi rõ nội dung và hình ảnh minh họa:
Hình đã gửi
thongkethep.dwg

File lisp của chương trình thống kê mà funnzyzui đang sử dụng:
http://www.cadviet.c...les/3/chinh.rar
thongke_3.lsp

Bài viết về lệnh TTB.vlx và lệnh SCK.vlx có liên quan:
http://www.cadviet.c...indpost&p=99749
http://www.cadviet.c...indpost&p=67668

Mong các ae trên diễn đàn bớt chút thời gian để nghiên cứu giúp. Nếu có thể nhanh chóng như lisp SCK.vlx của TUE_NV thì quá tốt.
Xin cám ơn các ae!
  • 0

#3657 gasmanc

gasmanc

    biết vẽ line

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

Đã gửi 20 June 2011 - 07:20 PM

@gasmanc : Bước thứ 2 cũng cần thiết đấy bạn. Không có bước 2 sao có bước 3 được. Hằng số mà bạn nói ấy luôn luôn bằng nhau khi duyệt qua từng cặp Text và point à? Không biết hằng số đấy có bằng nhau không? Hay là có quy luật?
Có lẽ bạn nên upload 1 file .dwg chứa một số đối tượng để người viết Lisp cho bạn có thể test để kiểm tra, Hơn nữa bạn nên nói rõ hơn về kết quả bạn muốn nhé. Còn kết quả thì Minh họa 1 vài kết quả đạt được thôi

Sáng nay mình post bài nhưng bị nhầm. sau đó mất điện nên ko làm gì được.
Bây giờ mình up lên 1 file mới kèm yêu cầu cụ thể. các bạn giúp đỡ nhé. http://www.mediafire...f5oie0lea8r4aya

Bài toán này có thể gộp về 1 yêu cầu đơn giản hơn là (cộng)trừ tất cả các số thập phân (số nguyên ở trên, số thập phân ở dưới) cho duy nhất 1 hằng số cố định. miêu tả cụ thể trong bản vẽ.
Lần trước mình nêu ra 3 yêu cầu nhỏ bởi vì có những lúc mình chỉ cần làm 1 trong 3 bước đó nên nêu yêu cầu như vậy.
còn về khoảng cách tại sao yêu cầu là 0.4 thì có 2 nguyên nhân:
thứ nhất là do yêu cầu bản vẽ phải như thế, thứ 2 là mình nghĩ nên có 1 khoảng cách cụ thể để lisp lọc được những con số cần nối với nhau. Ở đây cụ thể là chân text A và đầu text B có cùng giá trị Y, cách nhau 0.8 thì nối với nhau thành A.B; tránh trường hợp như 1 số lisp nối text khác, bị nối nhầm khi nhiều text ở gần nhau.
Nếu có thể, các bạn giúp mình 2 lisp:
1. cộng (trừ) tất cả câc cao độ trên bình đồ cho 1 hằng số, in luôn ra kết quả thay thế các số đó.
2. lisp lần lượt thực hiện 3 bước theo yêu cầu trong bản vẽ.
thanks
  • 0

#3658 gasmanc

gasmanc

    biết vẽ line

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

Đã gửi 20 June 2011 - 07:26 PM

Mình có sẳn cái này dùng nối.


(Defun c:HTR ()
(if (null kichthuocchontex)(setq kichthuocchontex "1"))
(setq kichthuocchontext (atof kichthuocchontex))
(setvar "MODEMACRO" "CHINH CAO DO HIEN TRANG")
(command "-layer" "new" "SOCAODOSUACHUA" "color" "50" "SOCAODOSUACHUA" "")
(princ "\nPHAM QUOC DUY Binh Son - Quang ngai")
(Princ "\nHay chon vung :")
(setq XX (ssget '((0 . "POINT,CIRCLE"))))
(setq L 0)
(setq M (sslength XX))
(while (< L M)
(setq DT (ssname XX L))
(setq DT (entget DT))
(setq TEXT (cdr (assoc 10 DT)))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq x (car TEXT))
(setq y (cadr TEXT))
(setvar "osmode"luubatdiem)
(setq luubatdiem (getvar "osmode"))
(command "-layer" "set" "SOCAODOSUACHUA" "")
(setvar "osmode" 0)
(command "select" "W" (list (+ x 0)(- y 0)) (list (- x (* kichthuocchontext 10))(+ y (* kichthuocchontext 3))) "" "")
(setq SS (ssget "p" '((0 . "TEXT"))))

(setq DTDTT (ssname SS 0))
(setq DTTT (entget DTDTT))
(setq NOIDUNGVIET (cdr (assoc 1 DTTT)))

(command "select" "W" (list (+ x (* kichthuocchontext 10))(- y 0)) (list (+ x 0)(+ y (* kichthuocchontext 3))) "" "")
(setq yy (ssget "p" '((0 . "TEXT"))))

(setq DTDTTS (ssname yy 0))
(setq DTTTS (entget DTDTTS))
(setq NOIDUNGVIETS (cdr (assoc 1 DTTTS)))

(setq chuoivietlai (strcat NOIDUNGVIET "." NOIDUNGVIETS))
(command "TEXT" "c" (list (+ x 0)(- y 0)) (* kichthuocchontext 1) 0 chuoivietlai)
(setq NOIDUNGVIET nil)
(setq NOIDUNGVIETS nil)
(setq chuoivietlai nil)
(setvar "osmode"luubatdiem)
(setq L (1+ L))
)
(setvar "MODEMACRO" "**CHUC BAN LAM VIEC HIEU QUA** PHAM QUOC DUY - BINH SON - QUANG NGAI")
(Princ)
)
-Kết quả sẽ viết lên layer SOCAODOSUACHUA. Phải kiểm tra chứ có khi text dính thì nó ra kết quả sai nhé. Đây là lisp mình làm sẳn để nối text do lúc xưa các ông tướng địa hình hay ma số dẩn đến kết quả z của các point không trúng.
-Trường hợp của bạn thì mình đoán là ma thêm khối lượng địa hình. nếu tin tưởng z của point thì viết líp như này hay hơn.
+nâng hoặc hạ z của point giá trị do mình nhập.
+Đọc z của point viết ra text trước và sau.


không phải mình định ma Z đâu. Mình có một bình đồ số được đo theo một mốc với trị số mộc là a. về sau người ta yêu cầu phải đo theo trị số mốc khác. Do đó số liệu cần phải sửa trên bản cad để in. số lượng các điểm này quá nhiều mà không thể làm các khác được vì file số liệu bị chết hoặc người ta không giao cho mình. Do đó mình mới cần lisp đáp ứng yêu cầu cụ thể của mình.
  • 0

#3659 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 20 June 2011 - 08:00 PM

Bạn phải dùng kết hợp với hàm initget nữa mới được. bạn hãy tham khảo trong help của CAD sẽ rõ hơn.

E dùng như vầy mà vẫn chưa được:
(initget "vhelvcn.ttf")
(setq tbl (tblnext "STYLE" T)
FontName (getkword "\nT\U+00EAn Font<vhelvcn.ttf> :")
  • 0

#3660 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 20 June 2011 - 11:33 PM

E dùng như vầy mà vẫn chưa được:
(initget "vhelvcn.ttf")
(setq tbl (tblnext "STYLE" T)
FontName (getkword "\nT\U+00EAn Font<vhelvcn.ttf> :")

Hề hề hề,
Mình xin mượn hoa cúng Phật vậy.
Bạn hãy tham khảo đoạn code sau đây của bác hochoaihetdot nha:
(if (not key_ctnc1) (setq key_ctnc1 "C"))
(initget "c t n h")
(setq key_ctnc (getkword (strcat "\Cong/Tru/Nhan/cHia [C/T/N/H] <" key_ctnc1 ">: ")))
(if (not key_ctnc) (setq key_ctnc key_ctnc1) (setq key_ctnc1 key_ctnc))

Nếu thấy ưng ý thì thank bác ấy vài phát nghen.
Hề hề hề
  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.