Đến nội dung


Hình ảnh
- - - - -

Cần giúp về Lisp Scale 1 chiều !


  • Please log in to reply
58 replies to this topic

#1 ngocduong12210119

ngocduong12210119

    biết vẽ circle

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

Đã gửi 24 March 2009 - 06:35 PM

Em có dùng Lisp Scale 1 chiều trên 4rum này !
- khi dùng lisp này thì có đoạn yêu cầu nhập tỉ lệ muốn scale !
- Nhưng nếu tỉ lệ mình cần quá lẻ thì ko khả thi lắm
=> Bác nào có thể sửa lại cho nó thành cách click chọn đoạn thẳng ( giống lệnh AL ), lúc này nó lại thành giống như lệnh align nhưng kích thước chỉ thay đổi 1 chiều mình đã chọn !

-Áp dụng : Để cho 1 cái cửa 1200 x 2000 vào 1 khung 800 x 1800 chẳng hạn
  • 0

#2 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 24 March 2009 - 07:22 PM

Em có dùng Lisp Scale 1 chiều trên 4rum này !
- khi dùng lisp này thì có đoạn yêu cầu nhập tỉ lệ muốn scale !
- Nhưng nếu tỉ lệ mình cần quá lẻ thì ko khả thi lắm
=> Bác nào có thể sửa lại cho nó thành cách click chọn đoạn thẳng ( giống lệnh AL ), lúc này nó lại thành giống như lệnh align nhưng kích thước chỉ thay đổi 1 chiều mình đã chọn !

-Áp dụng : Để cho 1 cái cửa 1200 x 2000 vào 1 khung 800 x 1800 chẳng hạn

Thế nào là tỉ lệ qấ lẻ là không khả thi.
Bạn có thể kết hợp lệnh 'cal để tính toán ra tỉ lệ scale. Điều đó hoàn toàn được.
Bạn đã thử kết hợp lệnh scale 1 chiều với lệnh 'cal chưa?
  • 1

#3 ngocduong12210119

ngocduong12210119

    biết vẽ circle

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

Đã gửi 24 March 2009 - 10:46 PM

Bác hướng dẫn em cách kết hợp Cal đc ko ?
Thank bác !
  • 0

#4 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 25 March 2009 - 01:42 AM

Bác hướng dẫn em cách kết hợp Cal đc ko ?
Thank bác !

Chú ý là 'cal. Dấu nháy trước chữ cal. Nếu bạn gõ chữ cal không là sai đấy nhé.
Ví dụ trường hợp của bạn là Áp dụng : Để cho 1 cái cửa 1200 x 2000 vào 1 khung 800 x 1800
thì ta scale 1 chiều theo phương X với tỉ lệ scale là 800/1200 phải không?
-> Kết quả là ta sẽ được cánh cửa 800x2000 nhé.
Sau đó ta scale 1 chiều theo phương Y với tỉ lệ scale là 1800/2000
-> Kết quả là ta sẽ được cánh cửa 800x1800 đúng không bạn?

Trình tự thực hiện như sau :
Command: xsc Chon doi tuong can scale: Gõ lệnh Xsc để scale 1 chiều
Select objects: Specify opposite corner: 3 found : Chon doi tuong can scale

Select objects: Nhấn enter thôi không chọn đối tượng nữa

Chon diem goc:
Scale theo [X,Y,Z,Scale]? :X : gõ X để scale 1 chiều theo phương X
Cho biet he so scale: 'cal Gõ lệnh 'cal
800/1200 : gõ 800/1200

Command: >> Expression: *Cancel* : nhấn Esc
nil

Command:
Command: xsc Gõ lệnh Xsc để scale 1 chiều
Chon doi tuong can scale:
Select objects: Specify opposite corner: 6 found : Chon doi tuong can scale

Select objects: Nhấn enter thôi không chọn đối tượng nữa

Chon diem goc:
Scale theo [X,Y,Z,Scale]? :Y : gõ Y để scale 1 chiều theo phương Y
Cho biet he so scale: 'cal : Gõ lệnh 'cal
1800/2000 : gõ 1800/2000

Chúc thành công :cry:
  • 3

#5 ngocduong12210119

ngocduong12210119

    biết vẽ circle

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

Đã gửi 25 March 2009 - 03:30 PM

THank bác nhiều !
Em đã thử và thấy là : Ko cần gõ lệnh 'CAL , khi hỏi chọn tỉ lệ em gõ 600/900 luôn vẫn thấy được !
- Nhưng giá mà có cái Lisp dạng pick chọn như kiểu Align thì cũng tiện !

==> Nhân tiện đây bác có Lisp " nối đường line bị đứt " thì cho em xin với, em tìm trên 4rum này cũng có 1 lisp tương tự nhưng nó lại còn có thêm chức năng là " xoá hết cả các đối tượng trong vùng chọn " nữa ( ứng dụng để " xoá cửa sổ ,..." ). Em muốn lisp chỉ nối line bị đứt trong vùng mình chọn thôi, nhưng gà về Lisp nên ko sửa đc !
Thanks các bác !
  • 0

#6 haanh

haanh

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2875 Bài viết
Điểm đánh giá: 1554 (rất tốt)

Đã gửi 25 March 2009 - 05:49 PM

Chon diem goc:
Scale theo [X,Y,Z,Scale]? :Y : gõ Y để scale 1 chiều theo phương Y
Cho biet he so scale: 'cal : Gõ lệnh 'cal
1800/2000 : gõ 1800/2000
Chúc thành công :cry:

Có một thắc mắc nhỏ sao bác 'Tue NV chọn 'cal ??? Trong khi vẫn gõ 1800/2000 được bình thường. Trong CAD nó chỉ không cho nhập dạng số thập phân kiểu như: 2.5/ 2 muốn nhập được phải gõ 25/20.
  • 2

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”


#7 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 25 March 2009 - 07:59 PM

Có một thắc mắc nhỏ sao bác 'Tue NV chọn 'cal ??? Trong khi vẫn gõ 1800/2000 được bình thường. Trong CAD nó chỉ không cho nhập dạng số thập phân kiểu như: 2.5/ 2 muốn nhập được phải gõ 25/20.

Cám ơn bạn haanh. Cũng chính vì lí do đó mà mình chỉ cho bạn ngocduong12210119 lệnh 'cal vì nó đúng cho mọi trường hợp.

==> Nhân tiện đây bác có Lisp " nối đường line bị đứt " thì cho em xin với, em tìm trên 4rum này cũng có 1 lisp tương tự nhưng nó lại còn có thêm chức năng là " xoá hết cả các đối tượng trong vùng chọn " nữa ( ứng dụng để " xoá cửa sổ ,..." ). Em muốn lisp chỉ nối line bị đứt trong vùng mình chọn thôi, nhưng gà về Lisp nên ko sửa đc !
Thanks các bác !

Bạn có thể post cái Lisp đó lên đây và có thể post cái file bản vẽ chứa các đường Line bị đứt đó lên diễn đàn. Mọi người sẽ giúp bạn
  • 1

#8 haanh

haanh

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2875 Bài viết
Điểm đánh giá: 1554 (rất tốt)

Đã gửi 25 March 2009 - 09:58 PM

Cám ơn bạn haanh. Cũng chính vì lí do đó mà mình chỉ cho bạn ngocduong12210119 lệnh 'cal vì nó đúng cho mọi trường hợp.

Bác thương em thì thương cho chót! Em cảm động lắm rồi! Bác cho em biết những tỷ dụ cụ thể về các trường hợp a, b, c , d ,e, ....
  • 0

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”


#9 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 25 March 2009 - 10:08 PM

Bác thương em thì thương cho chót! Em cảm động lắm rồi! Bác cho em biết những tỷ dụ cụ thể về các trường hợp a, b, c , d ,e, ....

tỷ dụ cụ thể về các trường hợp a, b, c , d ,e, ....nghĩa là như thế nào hở bạn?
  • 0

#10 haanh

haanh

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2875 Bài viết
Điểm đánh giá: 1554 (rất tốt)

Đã gửi 25 March 2009 - 10:27 PM

tỷ dụ cụ thể về các trường hợp a, b, c , d ,e, ....nghĩa là như thế nào hở bạn?

Nghĩa là các trường hợp phải gõ 'CAL kết hợp với Scale một chiều đó bác.
  • 0

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”


#11 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 25 March 2009 - 10:36 PM

Nghĩa là các trường hợp phải gõ 'CAL kết hợp với Scale một chiều đó bác.

Bạn chộ xem bài viết trên của mình đã trình bày lệnh Scale 1 chiều kết hợp với lệnh 'cal ở trên rồi mà.
Sao :cry: ? Chộ thấy không? Bài viết thứ 4 tính từ trên xuống dưới đó.
Đừng nói với mình là mắt bạn bị so le đấy nhé. :cry: :cry: :leluoi:
  • 0

#12 haanh

haanh

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2875 Bài viết
Điểm đánh giá: 1554 (rất tốt)

Đã gửi 25 March 2009 - 11:45 PM

Bạn chộ xem bài viết trên của mình đã trình bày lệnh Scale 1 chiều kết hợp với lệnh 'cal ở trên rồi mà.
Sao :cry: ? Chộ thấy không? Bài viết thứ 4 tính từ trên xuống dưới đó.
Đừng nói với mình là mắt bạn bị so le đấy nhé. :cry: :cry: :leluoi:

Em biết rồi! Cơ mà từ cái ngày thằng Scale một chiều nó cất tiếng khóc chào đời đến giờ
ko thấy nói đến "Scale 1 chiều kết hợp với lệnh 'cal "
em phải hỏi bác thôi!
Cơ mà sao bác ko đi thẳng vào câu hỏi của em???
Ko biết em mới hỏi.
Em vui mừng cười mỏi răng với cái tên CHỘ được bác vinh danh cho em!
Bác cho em biết nghĩa của từ này được ko???
lol2: :huh: :lol2 lol2: :cry: :lol2 lol2: :cry: :lol2 lol2: :s_big: :lol2 lol2: :wacko: :lol2 lol2: :angry: :lol2 lol2: :lol2: :lol2 lol2: :huh: :lol2 lol2: :cry: :lol2
  • 0

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”


#13 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 26 March 2009 - 09:14 AM

Cám ơn bạn haanh. Cũng chính vì lí do đó mà mình chỉ cho bạn ngocduong12210119 lệnh 'cal vì nó đúng cho mọi trường hợp.

Mình nghỉ khi dùng nên linh hoạt và tránh việc dùng thêm 'cal.
-Cần 12000/18000 thì mình nhập là 12/18 (giản lược bớt phần giống nhau)
-Cần 1,2/5 thì mình nhập 12/50 (thêm đơn vị để bò dấu phẩy đi)
@ngocduong12210119: về cái lisp sửa theo ý bạn ưng thì cũng được nhưng mình nghĩ bạn dùng linh hoạt 1 chút là ổn không nên quá cứng nhắc. Vì lisp này của người khác viết và trong qú trình thao tác có tạo ra block trung gian mình thấy chổ này không thích lắm nên không theo dỏi nhiều.
  • 2

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#14 haanh

haanh

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2875 Bài viết
Điểm đánh giá: 1554 (rất tốt)

Đã gửi 26 March 2009 - 11:59 AM

Mình nghỉ khi dùng nên linh hoạt và tránh việc dùng thêm 'cal.
-Cần 12000/18000 thì mình nhập là 12/18 (giản lược bớt phần giống nhau)
-Cần 1,2/5 thì mình nhập 12/50 (thêm đơn vị để bò dấu phẩy đi)
@ngocduong12210119: về cái lisp sửa theo ý bạn ưng thì cũng được nhưng mình nghĩ bạn dùng linh hoạt 1 chút là ổn không nên quá cứng nhắc. Vì lisp này của người khác viết và trong qú trình thao tác có tạo ra block trung gian mình thấy chổ này không thích lắm nên không theo dỏi nhiều.


Em ko thích kiểu nhập số cho scale một chiều. Các bác có tạo ra được lisp scale một ko cần phải nhập số ko?
Tỷ dụ như đưa nó về chế độ bắt điểm như scale haii chiều chọn R rồi bắt điểm ứ! Chỉnh sửa được lisp kiểu ko cần nhập số mới bố tướng các bác à!
Em CHỘ xin cảm ơn trước!

- Nhưng nếu tỉ lệ mình cần quá lẻ thì ko khả thi lắm

Sao không khả thỉ hở bác???
  • 0

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”


#15 ngocduong12210119

ngocduong12210119

    biết vẽ circle

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

Đã gửi 26 March 2009 - 03:25 PM

@ : haanh

ý của bác trùng với mục đích mở topic này của em rồi đó !

Nếu có thể chọn chế độ bắt điểm thì sẽ dễ dàng hơn !
  • 1

#16 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 26 March 2009 - 08:26 PM

Em ko thích kiểu nhập số cho scale một chiều. Các bác có tạo ra được lisp scale một ko cần phải nhập số ko?
Tỷ dụ như đưa nó về chế độ bắt điểm như scale haii chiều chọn R rồi bắt điểm ứ! Chỉnh sửa được lisp kiểu ko cần nhập số mới bố tướng các bác à!
Em CHỘ xin cảm ơn trước!
Em vui mừng cười mỏi răng với cái tên CHỘ được bác vinh danh cho em!
Bác cho em biết nghĩa của từ này được ko???

À. Chộ theo tiếng địa phương của người dân xứ Huế có nghĩa là thấy.
Từ Tri cũng có nghĩa là thấy.
Từ Kiến cũng có nghĩa là thấy
Từ Tri và Kiến cũng còn có nghĩa là tri thức là sự hiểu biết.

=> Suy ra Chộ có nghĩa là thấy, là sự hiểu biết đó haanh à. :cry:

Dạo này mình hơi bận. Để khi nào rảnh mình sẽ chỉnh lại cái Lisp này theo ý của bạn.
Chào bạn. Chúc bạn vui nhiều.
  • 1

#17 haanh

haanh

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2875 Bài viết
Điểm đánh giá: 1554 (rất tốt)

Đã gửi 26 March 2009 - 09:05 PM

À. Chộ theo tiếng địa phương của người dân xứ Huế có nghĩa là thấy.
Từ Tri cũng có nghĩa là thấy.
Từ Kiến cũng có nghĩa là thấy
Từ Tri và Kiến cũng còn có nghĩa là tri thức là sự hiểu biết.

=> Suy ra Chộ có nghĩa là thấy, là sự hiểu biết đó haanh à. :cry:

Dạo này mình hơi bận. Để khi nào rảnh mình sẽ chỉnh lại cái Lisp này theo ý của bạn.
Chào bạn. Chúc bạn vui nhiều.


Ôi ! CHỘ ơi! Biết rùi! Khổ nhắm! Nói mãi! He he he!

Bác có nghe thấy em hát gì ko ???


Chưa có bao giờ đẹp như hôm nay
non nước mây trời lòng ta mê say
sóng nước trùng dương dài theo bờ cát
(những cánh buồm rong chạy theo dòng cá)
những dãy đảo xa nằm nghe biển hát
(những dãy đảo xa đẹp như bài thơ)
theo những cánh chim bầu trời bao la
con sóng "đung đưa thuyền ra khơi xa"
(con sóng đi theo thời gian mênh mông)
vẫn mang tình em mùa xuân rực rỡ
giếng nước bờ tre đồng thơm rạ lúa
(náo nức lòng trai ngày đi biển xa)
biển sóng yêu thương màu xanh yêu thương
đất nước quê ta lồng lộng gió muôn phương
những câu hát về hòn đảo xa hùng vĩ
những năm tháng là bản hùng ca biển khơi
dũng sĩ như ngọn hải đăng sáng chói chiến công

Bác hứa rồi nhá! Đừng quên viết cái lisp Scale một chiều ko cần nhập KT nhá! Em sẽ chờ...lisp của bác với lời đề tặng:
Viết tặng riêng bạn CHỘ !

  • 1

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”


#18 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 27 March 2009 - 05:05 AM

Em ko thích kiểu nhập số cho scale một chiều. Các bác có tạo ra được lisp scale một ko cần phải nhập số ko?
Tỷ dụ như đưa nó về chế độ bắt điểm như scale haii chiều chọn R rồi bắt điểm ứ! Chỉnh sửa được lisp kiểu ko cần nhập số mới bố tướng các bác à!
Em CHỘ xin cảm ơn trước!

Đây là đoạn Code Scale 1 chiều, Tue_NV đã cải tiến lại với lựa chọn thêm tham số R giống như Scale 2 chiều. Các bạn sử dụng và cho biết ý kiến thêm để Tue_NV hoàn thiện nhé.
Cảm ơn các bạn

;XSCALE Scale the mot chieu lenhtat :XSC
(DEFUN EXCUTE()
(setq oldvalue (getvar "CMDECHO"))
(setvar "CMDECHO" 0)

(princ "Chon doi tuong can scale: ")
(setq ss (ssget))
(setq P0 (getpoint "\n Base point: "))
(initget 1 "X Y X S")
(setq C (getkword "\nScale theo [X,Y,Z,Scale]? :"))
(setq hstr (getstring "\n Cho biet he so scale or Reference < R >"))

(if (/= hstr "R") (setq hs (distof hstr 2)))
(if (or (= hstr "R") (= hstr ""))
(progn
(setq po1 (getdist p0 "\n Nhap chieu dai cua doan 1 hay Pick diem thu 2 cua canh thu 1:"))
(setq po2 (getdist p0 "\n Nhap chieu dai cua doan 2 hay Pick diem thu 2 cua canh thu 2:"))
(setq hs (/ po2 po1))
))

(DELBLOCK "VKC_TEMP")
(CREATEBLOCK ss P0)
(Command "-Insert" "VKC_TEMP" C hs P0 "")
(setq dt (entlast))
(Command "Explode" dt)

(setvar "CMDECHO" oldvalue)
(princ)
)
(DEFUN CREATEBLOCK(ss P)
(command "-Block" "VKC_TEMP" P ss "")
)

(DEFUN DELBLOCK (bname)
(if (IsExistBlock bname)
(Command "-Purge" "B" bname "Y" "Y")
)
)
(DEFUN IsExistBlock(bname / kq)
(setq kq Nil)
(setq n (length LiBlk))
(setq i 0)
(while (< i n)
(if (= bname (nth i LiBlk))
(progn
(setq i n)
(setq kq T)
)
)
(setq i (1+ i))
)
kq
)
(DEFUN CREALIBLK (/ NL)
(setq LiBlk (List))
(setq NL (tblnext "BLOCK" T))
(while NL
(setq LiBlk (append LiBlk (list (cdr (assoc 2 NL)))))
(setq NL (tblnext "BLOCK"))
)
(setq LiBlk (Acad_strlsort LiBlk))
)
(DEFUN C:XSCALE()
(CREALIBLK)
(EXCUTE)
)
(DEFUN C:XSC()
(CREALIBLK)
(EXCUTE)
)

  • 3

#19 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 27 March 2009 - 07:06 AM

*Cái lisp này là scale với tỉ lệ x và y khác nhau nên gọi là scale x y.
-Tên lệnh: SCXY
-Thao tác:
+Nhập lệnh SCXY.
+Chọn đối tượng.
+Chọn điểm chuẩn (để phóng)
+Chọn 2 điểm chuẩn theo phương x.
+Chọn 2 điểm đến theo phương x.
+Chọn 2 điểm chuẩn theo phương y.
+Chọn 2 điểm đến theo phương y.
Xong!
Đây!!!!!!!
  • 6

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#20 haanh

haanh

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2875 Bài viết
Điểm đánh giá: 1554 (rất tốt)

Đã gửi 27 March 2009 - 08:59 AM

Xài cái thằng x, y của bác Duy sướng kịch đường tàu luôn! Giá mà có cái scalexy3D các bác nhẩy… Đừng nghĩ oan cho em CHỘ thấy bở đào mãi ! Cơ mà em vẫn hy vọng sẽ có ngày được xài scalexy3D
  • 0

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”