Chuyển đến nội dung
Diễn đàn CADViet
vetgo

[yêu cầu] Lisp tạo text theo cấp số cộng cách đều nhau 1 khoảng

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

Em có vấn đề sau nhờ các bác giúp đỡ:

- Có 12 bản vẽ chẳng hạn

- Đánh số thứ tự bản vẽ như sau: 1/12, 2/12,...,12/12

- Mỗi chữ text 1/12, 2/12,...,12/12 cách đều nhau 1 khoảng là 420

H e muốn làm như sau:

+ Nhập số bản vẽ: 12

+ Nhập khoảng cách đều giữa các text: 420

+ Pick điểm lựa chọn và xuất hiện 12 text như đã nói ở trên cùng nằm trên 1 hàng cách nhau 420

Thank's các bá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

Nếu cách đều nhau thì bạn có thể dụng lệnh array và replace la dc mà bạn.Còn lisp thì trên diễn đàn lisp như vậy bạn tìm lisp với tên là "dsbv" là sẽ thấy.

Bạn cũng có thể dùng lệnh tcount kết hợp replace để thực hiện việc này.

  • 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

Em có vấn đề sau nhờ các bác giúp đỡ:

- Có 12 bản vẽ chẳng hạn

- Đánh số thứ tự bản vẽ như sau: 1/12, 2/12,...,12/12

- Mỗi chữ text 1/12, 2/12,...,12/12 cách đều nhau 1 khoảng là 420

H e muốn làm như sau:

+ Nhập số bản vẽ: 12

+ Nhập khoảng cách đều giữa các text: 420

+ Pick điểm lựa chọn và xuất hiện 12 text như đã nói ở trên cùng nằm trên 1 hàng cách nhau 420

Thank's các bác!

Bạn xài tạm cái này nhé!

;------------DVH
(defun C:CT (/ sl kc pt tx x)
(setq oldos (getvar "osmode") oldcm (getvar "cmdecho"))
(setvar "osmode" 0) (setvar "cmdecho" 0)
(setq sl (getint "\nSo luong ban ve: "))
(setq kc (getreal "\nKhoang cach giua cac Text: "))
(setq pt (getpoint "\Diem bat dau dong Text: "))
(setq x 0)
(repeat sl
 (setq tx (strcat (itoa (1+ x)) "/" (itoa sl)))
 (command ".text" pt "" 0 tx)
 (setq pt (polar pt 0 kc))
 (setq x (1+ x)))
(setvar "osmode" oldos) (setvar "cmdecho" oldcm))
(princ "Lenh dung: CT")

  • 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

Thanh's bác Doan Van Ha, nhưng cái của bác mới chỉ cho ra 1,2,3...12 mà chưa cho ra 1/12,2/12,...,12/12, với lại bác có thể thêm dạng tùy biến khi mình chọn 1 Text theo ý muốn làm mẫu được không.

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

Thanh's bác Doan Van Ha, nhưng cái của bác mới chỉ cho ra 1,2,3...12 mà chưa cho ra 1/12,2/12,...,12/12, với lại bác có thể thêm dạng tùy biến khi mình chọn 1 Text theo ý muốn làm mẫu được không.

Sorry, đã thêm "/n" ở trên lsp cũ. Còn chọn text mẫu cũng không khó. Tuy nhiên, vấn đề này trên Cadviet thì rất nhiều, bạn cố search sẽ có. Tăng dần, thêm tiền tố, thêm hậu tố... đều có cả.

Nếu bạn tìm không ra thì tôi sẽ viết cho.

Thân thươ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

Thank's bác, em tìm trên diễn đàn và thấy có đoạn code chọn text mẫu, nhưng quả thật e chưa biết gì về Lisp cả mà đoạn code này dài ngoằng nên nhờ bác hoàn thiện luôn giúp em đoạn Lisp trên vớ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

Thank's bác, em tìm trên diễn đàn và thấy có đoạn code chọn text mẫu, nhưng quả thật e chưa biết gì về Lisp cả mà đoạn code này dài ngoằng nên nhờ bác hoàn thiện luôn giúp em đoạn Lisp trên với!

Không biết có phải ý Bạn muốn thế này không?

;------------DVH
(defun C:CT (/ dt p1 p2 txcu txmoi kc tt1 tt2)
(setq oldos (getvar "osmode") oldcm (getvar "cmdecho"))
(setvar "osmode" 0) (setvar "cmdecho" 0)
(setq sl (getint "\nSo luong ban ve: "))
(setq kc (getreal "\nKhoang cach giua cac Text: "))
(setq pt (getpoint "\Diem bat dau dong Text: "))
(setq mau (entsel "\nChon Text mau..."))
(setq x 0)
(repeat sl
 (setq tx (strcat (itoa (1+ x)) "/" (itoa sl)))
 (command ".text" pt "" 0 tx)
 (command ".MATCHPROP" mau (entlast) "")
 (setq pt (polar pt 0 kc))
 (setq x (1+ x)))
(setvar "osmode" oldos) (setvar "cmdecho" oldcm))
(princ "Lenh dung: CT")

  • 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

Thank's bác, phiền bác Hà lần nữa. Nếu e có 12 bản vẽ (do tách file chẳng hạn) nhưng e muốn đánh số thứ tự từ 3 trở đi chẳng hạn (3/12, 4/12...,12/12) thì bác có thể giúp e lựa chọn tùy biến như thế được không? :rolleyes:

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

Thank's bác, phiền bác Hà lần nữa. Nếu e có 12 bản vẽ (do tách file chẳng hạn) nhưng e muốn đánh số thứ tự từ 3 trở đi chẳng hạn (3/12, 4/12...,12/12) thì bác có thể giúp e lựa chọn tùy biến như thế được không? :rolleyes:

Xin lỗi bài Hà. Em làm tí cho vui.

;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=51859
;------------DVH
(defun C:CT (/ dt p1 p2 txcu txmoi kc tt1 tt2)
(setq oldos (getvar "osmode") oldcm (getvar "cmdecho"))
(setvar "osmode" 0) (setvar "cmdecho" 0)
(setq sl (getint "\nSo luong ban ve: "))
(setq dau (getint "\nNhap so ban ve bat dau tu: "))
(setq kc (getreal "\nKhoang cach giua cac Text: "))
(setq pt (getpoint "\Diem bat dau dong Text: "))
(setq mau (entsel "\nChon Text mau..."))
(repeat (+ (- sl dau) 1)
 (setq tx (strcat (itoa (1+ (- dau 1))) "/" (itoa sl)))
 (command ".text" pt "" 0 tx)
 (command ".MATCHPROP" mau (entlast) "")
 (setq pt (polar pt 0 kc))
 (setq dau (1+ dau)))
(setvar "osmode" oldos) (setvar "cmdecho" oldcm))
(princ "Lenh dung: CT")


  • 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

Em đang có nhu cầu có lisp tạo hồ sơ kỹ thuật thửa đất có bảng thống kê tọa độ, kích thước, và sơ đồ thửa đất ra bảng riêng. Nhưng do trình độ viết Lisp có hạn nên chưa thể viết được. Nếu anh em có điều kiện thì giúp mình với nhé. Mình cũng đang cần. Thanhk anh em trước.

(Mình có gửi kèm theo file mẫu cần xuất ra bên dưới)

http://www.cadviet.com/upfiles/3/107884_nhu_cau_tao_lisp_hskt.rar

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

Em đang có nhu cầu có lisp tạo hồ sơ kỹ thuật thửa đất có bảng thống kê tọa độ, kích thước, và sơ đồ thửa đất ra bảng riêng. Nhưng do trình độ viết Lisp có hạn nên chưa thể viết được. Nếu anh em có điều kiện thì giúp mình với nhé. Mình cũng đang cần. Thanhk anh em trước.

(Mình có gửi kèm theo file mẫu cần xuất ra bên dưới)

http://www.cadviet.c...o_lisp_hskt.rar

Hề hề hề,

Cái bạn cần có thể vào đây xem thử coi đã ưng ý chưa nhé. Nếu có gì cần bổ sung thì post lên ngay trong topic đó chứ đừng mở thêm topic mơi làm chi bạn nhé.

http://www.cadviet.com/forum/index.php?showtopic=13361&st=20

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

Chào các anh chị, em nhờ mọi người viết lisp hộ em cái ạ. Em đang làm đồ án nhưng phải sửa cao độ lên( cộng thêm 1000 m ) vào cao độ cũ.

Anh chị nào viết hộ em cái lisp khi chỉ vào số nào đó thì số đó sẽ tự động cộng thêm vào 1000 đươc không ạ.

 

Cảm ơn cả nha!

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 rất hay nhưng còn 1 vài điểm chưa ưng ý cho lắm, mình xin góp ý một chút như sau:

 

Mình muốn 1 lisp nó hoạt động như sau (tương tự lệnh array), nên mong các bạn bỏ ít thời gian nghiên cứu để có 1 lệnh hoàn thiện, hay và hữu dụng.

 

Command: (tên lệnh tùy ý) --> Enter.

* Xuất hiện 1 hộp thoại gồm các mục:

-- Số cột:

-- K/c cột:

-- Số hàng:

-- K/c hàng:

-- Tiền tố:

-- Hậu tố:

-- Bản vẽ bắt đầu từ:

-- Chọn đối tượng mẫu: (giống phần select objects ở lệnh array)

* Sau khi khai báo xong ta Enter cho ra kết quả.

 

Ví dụ:

Command: stt --> Enter.

* (Xuất hiện 1 hộp thoại gồm các mục)

-- Số cột: 1

-- K/c cột: 420

-- Số hàng: 20

-- K/c hàng: 297

-- Tiền tố: (BV-

-- Hậu tố: /30)

-- Số lượng BV: 30

-- Bản vẽ bắt đầu từ: 1

-- Chọn đối tượng mẫu: (giống phần select objects ở lệnh array)

(Lisp hoạt động đánh stt từ trên xuống dưới từ trái qua phải).

 

Kết quả:

(BV-1/30)

(BV-2/30)

(BV-3/30)

........

(BV-30/30)

Chỉnh sửa theo avi612

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

Chào các anh chị, em nhờ mọi người viết lisp hộ em cái ạ. Em đang làm đồ án nhưng phải sửa cao độ lên( cộng thêm 1000 m ) vào cao độ cũ.

Bài viết sai topic . Đã có lisp - Mong bạn chú ý tìm kiếm và tôn trọng chủ topic

Em đang có nhu cầu có lisp tạo hồ sơ kỹ thuật thửa đất có bảng thống kê tọa độ, kích thước, và sơ đồ thửa đất ra bảng riêng. Nhưng do trình độ viết Lisp có hạn nên chưa thể viết được. Nếu anh em có điều kiện thì giúp mình với nhé. Mình cũng đang cần. Thanhk anh em trước.

(Mình có gửi kèm theo file mẫu cần xuất ra bên dưới)

http://www.cadviet.c...o_lisp_hskt.rar

Bài viết sai topic . Đã có lisp - Mong bạn chú ý tìm kiếm và tôn trọng chủ topic

Lisp rất hay nhưng còn 1 vài điểm chưa ưng ý cho lắm, mình xin góp ý một chút như sau:

 

Mình muốn 1 lisp nó hoạt động như sau (tương tự lệnh array), nên mong các bạn bỏ ít thời gian nghiên cứu để có 1 lệnh hoàn thiện, hay và hữu dụng.

 

Command: (tên lệnh tùy ý) --> Enter.

* Xuất hiện 1 hộp thoại gồm các mục:

-- Số cột:

-- K/c cột:

-- Số hàng:

-- K/c hàng:

-- Tiền tố:

-- Hậu tố:

-- Bản vẽ bắt đầu từ:

-- Chọn đối tượng mẫu: (giống phần select objects ở lệnh array)

* Sau khi khai báo xong ta Enter cho ra kết quả.

 

Ví dụ:

Command: stt --> Enter.

* (Xuất hiện 1 hộp thoại gồm các mục)

-- Số cột: 1

-- K/c cột: 420

-- Số hàng: 20

-- K/c hàng: 297

-- Tiền tố: (BV-

-- Hậu tố: /30)

-- Số lượng BV: 30

-- Bản vẽ bắt đầu từ: 1

-- Chọn đối tượng mẫu: (giống phần select objects ở lệnh array)

(Lisp hoạt động đánh stt từ trên xuống dưới từ trái qua phải).

 

Kết quả:

(BV-1/30)

(BV-2/30)

(BV-3/30)

........

(BV-30/30)

Yêu cầu không khó, tuy nhiên mình nhớ có lisp SHBV bác Tuệ viết trong topic viết lisp theo yêu cầu (sau đó mình sửa lại hàm tạo Text), bạn thử tìm xem sao. Từ khóa c:shbv ketxu

  • 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

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×