

thanhsitp
-
Số lượng nội dung
19 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi thanhsitp
-
-
mình vẽ dựa vào file scan.vì file scan rất nặng nên mình muốn tắt file scan để pan,zom mà file scan thuộc layer 0 nên mình muốn bằng một lệnh file scan sẽ tự động tắt.mong các bạn giúp đỡ.
-
khi mình sử dụng lệnh spl của cad thì khi muốn kết thúc lệnh ta phải nhấn enter 3 lần hoặc phải nhấn c (close) rồi enter 1 lần.khi vẽ thì ko bắt lại được điểm đầu tiên vẽ (ko muốn nhấn close mà pick lại điểm đầu rồi tự động kết thúc lệnh) rất bất tiện nếu lỡ nhấn esc thì mất trắng.nay mình nhờ các cao thủ viết lisp viết dùm mình lisp với nội dung như sau:
khi nhập lệnh s thì cho ta vẽ spline bình thường và nhấn esc để kết thúc lệnh(có chức năng close để đóng và u để lùi lại 1 bước và đặt biệt là click bắt được điểm đầu tiên vẽ và tự động kết thúc lệnh).xin vô cùng cảm ơn.
-
tình hình là cty mình vừa mới nhận một hồ sơ rất lớn về vẽ cầu,đường,nhưng tấc cả các thành viên trong cty đều là dân kiến trúc nên ko có kinh nghiệm vẽ cầu đường,nên mạo mụi post bài lên đây nhờ các anh em hướng dẫn cách vẽ đúng nhất.mình có gửi file cad và file scan kèm,mong tấc cả các anh em giúp đỡ.xin chân thành cảm ơn.
-
Bác này mở topic nhiều quá nhỉTheo tôi nghĩ thì cái này chắc là anh em CADVIET không giúp bác được đâu với các lý do sau :
1. Mục đích của diễn đàn là giúp a e thảo luận hướng a e đi tìm những cái mới, cái khó trong việc lập trình AutoLisp. Vì vậy đòi hỏi mỗi bản thân mỗi người tham gia diễn đàn phải có ý chí cầu tiến, học hỏi nghiên cứu AutoLisp
2. Diễn đàn chỉ giúp các thành viên từ 1-2 vấn đề khó xử trong công việc gặp phải chứ không ai ngồi rãnh mà viết lập trình theo yêu cầu cảu bạn. Vì khi viết đòi hỏi phải suy nghĩ rất nhiều tốn thời gian. Trong lúc bạn chỉ việc đưa ra yêu cầu==> người khác viết ==> bạn làm việc hiệu quả ==> lương+thăng tiến cao => USD nhiều. Và điều đó là KHÔNG CÔNG BẰNG
Đôi điều nói với bác như thế, nếu bác giận thì bỏ qua xem như chưa đọc bài này nhé
mình ko biết autolisp.nên mới nhờ các anh,chị trên diễn đàn,mong các anh,chị thông cảm giúp dùm em.cám ơn nhiều.
-
khi mình sử dụng lệnh spl của cad thì khi muốn kết thúc lệnh ta phải nhấn enter 3 lần hoặc phải nhấn c (close) rồi enter 1 lần.khi vẽ thì ko bắt lại được điểm đầu tiên vẽ (ko muốn nhấn close mà pick lại điểm đầu rồi tự động kết thúc lệnh) rất bất tiện nếu lỡ nhấn esc thì mất trắng.nay mình nhờ các cao thủ viết lisp viết dùm mình lisp với nội dung như sau:
khi nhập lệnh s thì cho ta vẽ spline bình thường và nhấn esc để kết thúc lệnh(có chức năng close để đóng và u để lùi lại 1 bước và đặt biệt là click bắt được điểm đầu tiên vẽ và tự động kết thúc lệnh).xin vô cùng cảm ơn.
-
mình đang sửa một hồ sơ rất lớn,lúc trước vẽ thì mình dim kích thướt nhưng nay khách hàng bảo là không dim mà ghi kích thướt bằng text.nên mình nhờ các anh chị trên diễn đàn viết dùm mình lisp biến dim thành text với text là giá trị của dim.xin cám ơn.
-
TrờiBác nghiên cứu cái này chưa
Rất hay
này nhé, bác làm theo trình tự như thế này sẽ thấy cái ký diệu của nó
1. Bác dùng phần mềm convert file Image *.tif ra file dxf bác sẽ được 1 file Cad hoàn chỉnh
2. Mở file ra chon tất cả các đối tượng về cùng chung 1 GROUP (hay BLOCK thì ko tiện = group) thì tuỳ (tất nhiên là khi thao tác trong AutoCAD sẽ nhẹ nhàng vô cùng so với khi bác thao tác với Image bác chèn vào bản vẽ và move như yêu cầu của bác rất công)
3. Sử dụng lệnh Align chọn đối tượng đưa toàn bộ bản vẽ về 1 tỷ lệ chính xác đúng theo kích thưóc bạn vẽ
4. Từ đây bạn bắt đầu thao tác vẽ lại y như bản IMAGE ban đầu :
- Chèn block các ghế, bàn ăn, giường, toalet, bồn tắm nằm .... bằng cách insert và align vào đúng rất dễ dàng bằng cách bắt điểm chính xác (mà điều này khi thao tác với file image rất khó, tốn nhiều công đoạn)
- Ghi kích thước cũng dễ dàng khi có chế độ chon điểm chính xác
- Bạn vẽ lại tới đâu thì xoá đối tượng cũ cũng dễ và bạn sẽ biết được việc làm của mình tới đâu rồi, thiếu chỗ nào ....
Trên đây là suy nghĩ và quan điểm của mình
Bạn có thể thử và làm theo xem thử cách nào nhanh nhất và tốt nhất
Nếu không thì bạn có thể bỏ qua
Đay là file mình đã convert từ *.tiff qua *.dxf và chỉ cần lọc bỏ các LINE, POLYLINE có chiều dài nhỏ là OK
cám ơn bạn,nhưng cách của bạn là ko thể,nó còn chậm hơn cách của mình nhiều,cty mình ko ai làm cách của bạn cả.bản vẽ của mình được tính bằng giờ,file 0421 mình chỉ cần 2 giờ là vẽ xong đúng layer,kích thướt,kiến trúc...chỉ cần 2 giờ là hoàn thiện tấc cả.nếu vẽ âm giờ nhiều quá,vẽ sai thì chẳng được tăng lương mà còn mất việc như chơi đấy bạn ạ.
-
Lạ nhỉ.Mình thấy có ảnh hưởng j đâu.Trong lisp này thì trước khi thực hiện lệnh h,hh,cad đều chuyển layer về layer hatch,rồi hatch xong lại trả về layer cũ mà.CÒn khi kick đúp vào miền hatch,nếu là hatch bình thường,thì tab swatch sẽ hiện lên kiểu hatch chứ ^^.Còn với solid,nó sẽ ghi By layer.Nhưng mình thì nghĩ,đã solid rồi thì by layer nào mà khi in ra nó chẳng...đen thùi lùi 1 đống.Miễn là màu của nó khi hiển thị là màu của layer hatch là okie rùi..bạn thông cảm,đó là qui định của khàng,bạn làm ơn sửa lại cái hatch solid dùm mình nha.cảm ơn nhiều.
-
Sao kô đc chúCú pháp như sau
load file mm.lsp lên
Theo thứ tự thế này
1. Bấm lệnh mm
2. Click chuột trái chon điểm thứ 1 bắt đầu move
3. Click chuột trái chon điểm thứ 2 để move
Hết
Mà sao chú không xài thử thằng này
Biến IMAGE thành AutoCad cho dễ chỉnh sửa, nhẹ hều à
Link nè
http://teen.vno.vn/showthread.php?21755-Im...-thanh-file-cad
ko đươc anh ơi,nó báo ; error: bad point argument.Biến IMAGE thành AutoCad cho dễ chỉnh sửa, nhẹ hều à là đều ko thể vì mình phải vẽ lại cho đúng kiến trúc và layer cho khàng.
-
Đây tặng chú em nèCó j không hiểu cứ pm đại ka
:(
(defun c:mm (/) (setvar "cmdecho" 0) (setq ss (ssget "X" '( (-4 . " (0 . "IMAGE") (8 . "0") (-4 . "AND>") ) ) ) (command "move" ss "") (command "pause") )
ko được đại ca ơi,cứu em với nó báo ; error: bad point argument
-
chào bạn ,bạn zuzuzela giúp dùm mình nha
-
Mình chỉnh đoạn lisp của Tue_VN bạn dùng cho hatch còn thang thì chờ người khác ha bạn.(defun c:h(/ ov vl)
(setq vl '("clayer" "cmdecho"); Sys Var list
ov (mapcar 'getvar vl)); Get Old values
(setvar "cmdecho" 1)
(if (tblsearch "layer" "Hatch")
(setvar "CLAYER" "Hatch")
(command "-layer" "M" "Hatch" "" ) )
(initdia)
(command "hatch")
(while (< 0 (getvar "CMDACTIVE"))
(command pause)
)
(mapcar 'setvar vl ov); reset Sys Vars
(princ)
)
(defun c:hh(/ ov vl)
(setq vl '("clayer" "cmdecho"); Sys Var list
ov (mapcar 'getvar vl)); Get Old values
(setvar "cmdecho" 1)
(if (tblsearch "layer" "Hatch")
(setvar "CLAYER" "Hatch")
(command "-layer" "M" "Hatch" "" ) )
(setvar "hpname" "SOLID")
(command "-hatch")
(while (< 0 (getvar "CMDACTIVE"))
(command pause)
)
(mapcar 'setvar vl ov); reset Sys Vars
(princ)
)
lisp của bạn sử dụng được nhưng mình vẫn chưa hài lòng.mình muốn khi sử dụng lệnh h và hh thì layer hatch sẽ hiện hành trước rồi mới thực hiện lệnh.tại vì khi sử dụng lệnh của bạn dlick vào hatch thì tab hatch muc swatch nó là màu của layer đang hiện hành trước đó chứ ko phải by layer của layer hatch nên mình ko thể sử dụng được.Rất mong bạn sửa lại dùm (vì đó là quy định của cty mình).Xin chân thành cảm ơn bạn.
-
hatch:
lisp 1:khi nhập lệnh h thì tự chuyển layer hatch và xuất hiện hợp thoại hatch cho chọn vật liệu và hatch bình thường như lệch hatch của cad.
lisp 2:khi nhập lệnh hh thì tự chuyển layer hatch và cho ta hatch = mặt cắt solid (lưu ý:không xuất hiện hộp thoại hatch,chỉ cần nhập lệnh tự chuyển layer hatch,pick chon miền,enter->được hatch solid)
vẽ thang cắt:
khi nhập lệnh,pick 2 điểm cad tự tính ra chiều cao của thang,pick điểm bắt đầu,nhập bề rộng bậc và số bật->ta duoc thang cắt (lưu ý:vì pick 2 điểm(chiều cao của tầng)nên chiều cao thang có thể lẽ nên lisp này là tối ưu nhất)
-
cách đó chậm lắm bạn ạ.mình insert file scan,sau đó align đúng kích thướt và vẽ đè lên file scan.
-
cám ơn bạn,nhưng đây không phải lisp mình cần.trong bản vẽ của mình chỉ co file scan là ở layer o.nên mình chỉ muốn chọn nó để di chuyển tại vì trong bản vẽ mình phải di chuyển file scan rất nhiều mà mình ko muốn click chọn nó,vì file scan rất nặng nên mỗi lần chọn phải zoom lên rất lâu,có khi đứng máy,mong các bạn giúp đỡ.cám ơn các bạn nhiều.cám ơn bạn,mình chọn được layer 0 rồi (file scan).bạn làm ơn cho mình thêm chức năng move nữa nha,có nghĩa là khi đánh lệnh thì chọn file scan và cho ta move, khỏi phải mất công nhập lệnh move.
-
Nếu có thểBạn gửi cái file SCAN đó lên diễn đàn được ko?
Mình sẽ ngâm cứu giúp bạn
Chắc chắn sẽ có những ý tưởng hay giúp bạn
Mình up lên 1 vài bản vẽ,file scan,mong bạn và các anh,chị trên diễn đàn chỉ giáo cách vẽ đúng và nhanh nhất.
-
Em là họa viên kiến trúc đang làm việc cho một công ty của Đức.Công việc của em là số hóa bản vẽ có nghĩa là khách hàng gửi cho em file Scan,em vẽ lại theo đúng kích thước,layer của công ty hoặc của khách hàng.File scan của em nằm ở layer 0,nên khi vẽ em thường xuyên phải di chuyển layer 0(file Scan) thì phải chọn file scan rất mất thời gian.Nên em mạo mụi nhờ các anh chị trong diễn đàn viết dùm em lisp chỉ cần đánh lệnh thì tấc cả các đối tượng nằm ở layer 0 sẽ được chọn để di chuyển(move).Em đang rất cần kính mong các anh chị giúp đỡ,em xin thành thật cảm ơn.cám ơn bạn,nhưng đây không phải lisp mình cần.trong bản vẽ của mình chỉ co file scan là ở layer o.nên mình chỉ muốn chọn nó để di chuyển tại vì trong bản vẽ mình phải di chuyển file scan rất nhiều mà mình ko muốn click chọn nó,vì file scan rất nặng nên mỗi lần chọn phải zoom lên rất lâu,có khi đứng máy,mong các bạn giúp đỡ.cám ơn các bạn nhiều.
-
Em là họa viên kiến trúc đang làm việc cho một công ty của Đức.Công việc của em là số hóa bản vẽ có nghĩa là khách hàng gửi cho em file Scan,em vẽ lại theo đúng kích thước,layer của công ty hoặc của khách hàng.File scan của em nằm ở layer 0,nên khi vẽ em thường xuyên phải di chuyển layer 0(file Scan) thì phải chọn file scan rất mất thời gian.Nên em mạo mụi nhờ các anh chị trong diễn đàn viết dùm em lisp chỉ cần đánh lệnh thì tấc cả các đối tượng nằm ở layer 0 sẽ được chọn để di chuyển(move).Em đang rất cần kính mong các anh chị giúp đỡ,em xin thành thật cảm ơn.
nhờ viết lisp tắt layer 0
trong AutoLisp
Đã đăng · Trả lời báo cáo
mình viết được rồi nhưng phải nhấn esc mới kết thúc được lệnh,bạn nào giúp mình khi gõ lệnh xong thì thực hiện lệnh và kết thúc luôn ko cần nhấn esc hay enter,cám ơn nhiếu.
(defun C:00() (command "layoff" (ssget "X" '(( 8 . "0"))) "" pause))