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

h2c

Thành viên
  • Số lượng nội dung

    50
  • Đã tham gia

  • Lần ghé thăm cuối

Bài đăng được đăng bởi h2c


  1. Cám ơn bác Hoanh và bác lamtecco2 .

    Bộ tool này là bí mật công ty , mình không được phép share xin mọi người thông cảm .

    Để em tóm tắt lại vấn đề :

    Sếp giao cho file menu.mnu , kêu chạy nó trên máy em . Máy sếp dùng 2006 nhưng hiển thị tiếng Hàn nên tool chạy ngon lành . Máy em dùng tiếng anh nên điếc đặc . Em nghĩ nếu copy y chang toàn bộ file .cui và .mnu từ máy sếp sang máy em thì chắc cũng chạy được nhưng em lại không hiểu tiếng Hàn cũng như không . Vấn đề là chỗ làm sao là lấy tool này ra nhúng vào cad của mình nhưng vẫn dùng tiếng Anh . Em đã xem thử acad.cui bằng notepad , nó viết giống như 1 trang *.xml , chẳng biết chỗ nào để thêm dòng code của mình .

    Ngày mai mình sẽ thử cách của bác lamtecco2 . Bác lamtecco2 có lisp nào chuyển file mnu lên cui không ? chứ chuyển xuống thì em chưa cần ?

    Ah , file *.cui nó viết theo kiểu gì mà khó hiểu quá , bác nào rành chỉ luôn cho em nha .

    Rất cám ơn mọi người !!!!!!!!


  2. Mọi người cho mình hỏi làm thế nào để thêm tool cho cad . Ở công ty mình đang làm hiện nay có sử dụng 1 tool vẽ symbol nhanh , chỉ cần click vào . Nhưng khổ nỗi cái tool này nếu đem qua máy khác thì chữ nghĩa chuyển thành dấu "?" . Tool này theo sếp nói là load từ file acad.mnu , sử dụng cho 2004 trở về trước , bây giờ mình copy đoạn tương ứng của tool này paste vào acad.cui của 2006 , nghe có vẻ đơn giản nhưng cách gọi tool của 2 cái khác hẳn nhau . ( theo lời sếp thì acad.cui của 2006 tương ứng với acad.mnu của 2004 )

    Thanks mọi người .


  3. sd của bạn dùng rất tốt nhưng lại xảy ra trường hợp sau : Nếu chân đường gióng của đường dim cần move và đường dim gốc không trùng nhau , nó sẽ tự động move chân đường gióng về trùng chân đường gióng của dim gốc , mất thêm công đoạn kéo chân đường gióng trở lại chi tiết .

    Bạn giải quyết nó thử xem .


  4. to thuha84 :

    Mình hiểu ý bạn , bỡ ngỡ y chang mình hồi trước .

    Bạn cứ vẽ 1 rectang có kích thước 297x210 , offset vào 10mm , bên đóng tập thì offset 20mm , vẽ khung tên đầy đủ theo tiêu chuẩn vào khung offset này . Với chi tiết bạn đang vẽ , bạn chỉ cần vẽ nó ở kích thước thật 100% , sau khi hoàn thành , bạn scale cái khung bạn vẽ lúc đầu lên hoặc scale cái hình của bạn nhỏ xuống , miễn sao cái khung chứa vừa chi tiết của bạn . Tốt nhất là nên scale cái khung lên vì nếu scale chi tiết xuống thì phải chỉnh lại dim scale .

    Khi đi in thì cứ bắt vào rectang paper là ok , nhưng cũng tùy máy in . Máy in ở cty mình thì phải offset từ mép paper 297x210 vào 5mm thì nó mới in đúng , potay .

    Mấy lệnh limit , mvsetup thì mình chưa bao giờ xài :unsure:

    Hy vọng giúp được bạn !


  5. Cho mình hỏi khi mình chọn nhiều đối tượng và thực hiện xong 1 lệnh , bây giờ muốn chọn lại những đối tượng y chang như thế thì làm thế nào ? Nghe nói từ cad2006 trở đi có cách làm nhưng mình kiếm hoài ko thấy ?

    Còn ở 2004 nếu thật sự chưa có chức năng này thì phải viết lisp ra sao ?

    Cám ơn mọi người .


  6. Hehehe

    Lâu rồi bận quá nên không online, không biết là mình trở thành kẻ "chỉ là đâm thọc, khích bác với dụng ý xấu mà thôi!"

     

    Thứ nhất: Mình không là dân dùng CAD thì cần mấy các LISP đó để làm gì, để vẽ hình ngắm chơi àh? Các bác là người cần, còn mình tham gia để cho vui thôi.

    Thứ hai: Mình không cần trả lời mấy cái câu hỏi kiểu đánh đố như thế vì chẳng cần chứng tỏ với ssg làm gì. Những gì mà mình đã đưa lên diễn đàn cũng đủ để cho mọi người biết rằng mình cũng có thực lực.

    Thứ ba: Mình có kinh nghiệm làm dự án về tin học được vài năm rồi và hiện giờ là một PM về outsource và mình thấy một điều thế này: Các dự án bị failed không phải do kỹ thuật mà chủ yếu là khâu tổ chức...

    Hehehe, vậy thôi. Bác ssg nghĩ lại đi nhé...

     

    KISS= KEEP IT SIMPLE & STUPID

    8.gif


  7. Tại sao khi viết thông báo ra màn hình , phải luôn viết "\nTHONGBAO" , mình bỏ \n đi nó vẫn viết bình thường mà ?

    Trong đoạn vd của bạn :

    (defun BatDauVe() (setq OldOs (getvar "osmode")) (setvar "osmode" 0))

    ;;;----------------------------------------------------------------

    (defun KetThucVe() (setvar "osmode" OldOs) (princ))

    ;;;----------------------------------------------------------------

    (defun NhapSoLieu()

    (setq

    Rong (getreal "\nChieu rong: ")

    Cao (getreal "\nChieu cao: ")

    CaoChop (getreal "\nChieu cao chop: ")

    DiemChuan (getpoint "\nDiem chuan: ")

    )

    )

    ;;;----------------------------------------------------------------

    (defun VeNha ( W H1 H2 p1 / p2 p3 p4 p5 OldOs)

    (setq

    p2 (polar p1 0.0 W)

    p3 (polar p2 (/ pi 2) H1)

    p4 (polar p3 pi W)

    p5 (list (+ (car p4) (/ W 2)) (+ (cadr p4) H2))

    )

    (BatDauVe)

    (command "line" p1 p2 p3 p4 "c")

    (command "line" p3 p5 p4 "")

    (KetThucVe)

    )

    ;;;----------------------------------------------------------------

    (defun C:NHA (/ Rong Cao CaoChop DiemChuan)

    (NhapSoLieu)

    (VeNha Rong Cao CaoChop DiemChuan)

    )

    Ở các biến tô đỏ , bạn chưa nhập giá trị cho nó thì chương trình biết đâu mà chạy . Bài bạn viết thật dễ hiểu , nếu có thời gian , bạn tiếp tục bài 4 như đã " quảng cáo " đi , mình đang nôn quá .


  8. Có thể trước khi tiến hành chương trình trên thì bạn tạo cho người dùng 1 loạt câu hỏi với những nội dung sau

    _ Chiều cao mỗi dòng

    _ Số cột

    _ Chiều rộng cột 1

    _ Thông tin trong cột 1

    _ Chiều rộng cột 2

    _ Thông tin trong cột 2

    _ ...

    Sau đó save các tùy chọn này lại để dùng lần sau . Mình nghĩ nó sẽ thích hợp được với nhiều người .


  9. Cảm ơn bạn , chương trình rất tuyệt . Nhưng ở trong defun end_bk , bạn setvar "osmode" về oldos ( đúng ra phải về oldOs giống như bạn đã đặt từ đầu ) nên nó xóa đi tất cả những thuộc tính đã đặt trong osnap .

    Mình cũng có thắc mắc là tại sao khi mình sửa oldOs ( ở defun Begin_BK ) về oldos cho giống phần end_BK nhưng nó không trả về giá trị osnap ban đầu , mà phải sửa ở phần end_BK thì nó mới trả lại .


  10. Đây là việc rất quan trọng, có tính định hướng cho các bước tiếp theo, rất cần sự tham gia đóng góp của toàn thể các bạn trong diễn đàn, kể cả các bạn đang còn chưa hiểu gì về lisp.

    Mục tiêu cần đạt được: Một bảng thống kê tương đối hoàn chỉnh các lệnh của CVU, theo từng chương, mục, mục con..., tương tự như mục lục sách. Mỗi lệnh có 2 hoặc 3 thành phần sau:

    1) Tên lệnh: Thể hiện nội dung chính của lệnh. Yêu cầu ngắn gọn và súc tích.

    Ví dụ (lệnh chính thống của Acad): LINE

    2) Dòng chú giải (comment): có thể dài hơn, giải thích rõ hơn về công dụng và bản chất của lệnh.

    Ví dụ: Khi bạn select Menu-Draw-Line, tại thanh Status Bar (dưới đáy màn hình Acad) hiện ra dòng:

    "Creates straight line segments: LINE". Đó là dòng comment, còn gọi là Help String.

    3) Các lệnh con (nếu có).

    Ví dụ: Command: circle

    Specify center point for circle or [3P/2P/Ttr (tan tan radius)]:

    Mặc định là center-radius và 3 lệnh con là 3P/2P/Ttr.

    3 thành phần trên sẽ hiển thị trên giao diện khi chạy chương trình. Ngoài ra, bạn có thể giải thích thêm để lập trình viên hiểu chính xác ý đồ của bạn.

    Tạm thời, ssg xin đưa ra hình minh hoạ sau để các bạn thấy cụ thể hơn dáng dấp của CVU trong tương lai. Đây là ví dụ minh hoạ, nó chỉ có cái "vỏ", chưa có "ruột":

     

    menu1.jpg

     

    Trong đó, nhóm "Các lệnh thường dùng nhất" là nhóm chủ lực, bao gồm các thao tác mà Kiến trúc sư và Kỹ sư xây dựng thường dùng nhất và mất nhiều thời gian nhất trong quá trình thiết kế và vẽ. Mời các bạn xem lại bài viết của ssg trong "CadViet Software - Tại sao không?" để hiểu thêm.

    Ssg xin nhấn mạnh điều này: khả năng của lisp rất lớn, hầu như bất cứ thao tác gì bạn thực hiện trực tiếp trên Acad đều có thể làm tự động được bằng lisp. Nếu biết khai thác tốt, bạn có thể tăng năng suất vẽ và thiết kế với Acad lên gấp nhiều lần (theo ssg là không dưới 3 lần).

    Đừng ngại ngần, hãy nêu càng nhiều càng tốt yêu cầu của bạn, CadViet Utility sẵn sàng đáp ứng!

    Mình đang tập tành lisp , nhưng có 1 yêu cầu này , hy vọng các bạn có thể giải quyết được .

    Mình là dân cơ khí , sau khi mình vẽ xong , đến giai đoạn lập bảng kê , mình cứ phải leader từng món 1 . Có những bản vẽ lắp , 7 - 8 chục chi tiết viết bảng kê mệt nghỉ . Mình muốn là sau khi mình trỏ leader vào chi tiết , chương trình chỉ hỏi mình tên chi tiết , số lượng , vật liệu , ghi chú và vị trí đặt số thứ tự trên bản vẽ , còn lại nó tự động đánh số và tự lên bảng kê . Thêm nữa , nếu có thể thì chương trình cho phép chỉnh sửa kiểu insert ( trong trường hợp bạn đánh số thứ tự xong hết rồi , tự nhiên sếp lên hỏi "cái này là cái gì ?" , thế là bạn phải thêm chi tiết mang số to nhất , mà yêu cầu là số đánh phải có thứ tự theo chiều kim đồng hồ .) , và kiểu delete ( trong trường hợp như trên nhưng ngược lại ) .

    Thật sự mình rất ghét lập bảng kê .

    Mình chân thành cảm ơn và đang cố gắng để có thể chung tay xây dựng với mọi người .


  11. Cơ bản nhất là cad nếu rảnh thì thêm Mechanical Desktop . Tiếp theo còn tùy thuộc vào ngành nghề của bạn , nếu bạn là chế tạo máy thì nên ProE ( giao diện không thân thiện nhưng mạnh cho thiết kế lẫn gia công , có thể xuất ra mã máy CNC ) . Nên học lập trình CNC .

    Nói chung là bạn nên học hết sức có thể để sau này khỏi hối hận , càng nhiều càng tốt , chứ còn phần mềm nào thì cũng hên xui , vì sau này bạn vô công ty nào thì tùy thuộc vào công ty đó thôi , nó kêu bạn làm bằng phần mềm nào thì chơi cái đó , nhiều công ty nó viết công cụ riêng cho nó luôn . Như công ty của mình đây này , bắt vẽ bằng Excel , chịu nổi không ??? Dùng cad thì không có tiền mua , bẻ khóa thì sợ bị kiện , hehe , nhưng bây giờ nghỉ làm rồi .......


  12. Mình không đồng ý với quan điểm của h2c. Đã là dân kỹ thuật thì vẽ phải chính xác tỉ lệ. Mình nghĩ là bên cơ khí thì cần phải vẽ chính xác hơn chứ?

    Tất nhiên trong kỹ thuật thì tỉ lệ chính xác rất quan trọng . Nhưng ý mình nói không quan trọng là ở chỗ trên máy tính thì có thể vẽ ở bất cứ tỉ lệ nào mà thấy thuận tiện ( mình thiết kế máy nên hay dùng 1:1 ) , vẽ xong xuôi rồi mới vẽ 1 rectang có kích thước 1 tờ ( ví dụ A0 ) , sau đó cắt xén , thêm bớt rồi scale vừa vào khung này để khi in khỏi thừa hay thẹo . Tất nhiên tỉ lệ khi scale vào này phải tuân theo tiêu chuẩn chứ không phải muốn scale bao nhiêu là scale . Chỉnh lại ti lệ đó cho dim đúng kích thước thực tế .

    Hồi mới dùng Cad , mình cứ băn khoăn thế nào là định bản vẽ , trước khi vẽ phải setup rắc rối . Về sau cứ kiểu trên mà làm ( cách này nông dân quá chăng ??? , xin mọi người chỉ dạy thêm ) .


  13. Thật sự thì tỉ lệ này không quan trọng lắm . Mình chuyên cơ khí nên không rành bên xây dựng lắm , nhưng theo mình thì bạn cứ vẽ theo đúng tỉ lệ tương đối giữa các chi tiết với nhau . Kích thước thực tế hoặc scale rồi cũng được . Sau đó vẽ 1 khung có kích thước ( ví dụ A0 ) , scale hình của bạn vào khung này , đem ra tiệm in ào ào . Nhớ chỉnh tỉ lệ giá trị dim .


  14. Cách của mình ấn tổ hợp phím Ctrl+1, để thanh Properties ở chế độ auto-hide, khi bạn muốn thay đổi layer thì đưa chuột về phía thanh Properties (đang ẩn) -> thanh Properties hiện ra vào General sẽ thấy ô Layer rồi thực hiện việc chuyển đổi ở đó.

    Hoạc dùng lệnh Change -> Select objects -> P -> LA -> tên layer muốn chuyển sang (cách này thì không trực quan lắm và mất thời gian)

    Ngoài ra việc chuyển đổi layer cũng có thể làm được bằng Lisp.

    Thanks bạn , nhưng ý mình là muốn đổi layer xong rồi vẽ . Cách của bạn là sau khi vẽ rồi mới đổi layer .

×