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

Snowman

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

    151
  • Đã tham gia

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

  • Ngày trúng

    1

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


  1. Theo mình bạn nên cài Nova 16 chạy trên Cad2005 - 07 bản này cập nhật data (file *.ntd) rất tốt. Và nên cài Win7 chạy ít bị dump màn hình xanh

    Lệnh TNTT là lệnh cập nhật lại file *ntd từ các polyline trên trắc ngang bạn đã hiệu chỉnh; đây là bước tiến mới của NOVA. Sau khi ra lệnh TNTT xong bạn EDTN là các cắt ngang sẽ được vẽ lại hoàn chỉnh TKTN lại và tính toán vô tư

    Lệnh TNTT chỉ dùng để sửa và cập nhật TK, DT cho một vài trắc ngang thì tiện chứ làm cho cả tuyến thì nên ... xoá đi mà sửa file ntd rồi chạy lại. Vì thao tác sửa TN tự nhiên rất mất tg và chỉ hạn chế trong một số lệnh Stretch, PE, .. Nếu động tới các lệnh Break, copy, trim ...(thay đổi entity và Xdata) là hỏng luôn. Lệnh này cũng còn một hạn chế là ko thay đổi được cao độ mia tại tim cọc (Nova thêm cái này thì hay hơn).

    Cách tốt nhất là trước khi thiết kế trên TN, nên rà soát lại toàn bộ TN trước, nếu có vấn đề j thì quay lại sửa ntd. Khi nào TN được như ý rồi mới bắt đầu tk và tính klg


  2. mình thử làm như bạn hướng dẫn rồi. nhưng dùng lệnh "t" vẫn không chạy được tuyến. Mình dùng nova 4.0

    Hy vọng bạn "thử" đúng như dòng hướng dẫn này

    Bạn chỉ cần sửa 3.2 thành 3.0 rồi save lại là có thể mở được bằng RTDN, xuất sang 3.0 ok

    (Nếu ko được nữa thì ...khỏi làm, để tôi làm cho :tongue2: )

     

    bác Snowman cho mình hỏi vấn đề này mà chưa có ai trả lời cả mong bác giúp với

    vấn đề của em ở đây là khi chạy tuyến từ bình đồ xong xuất trắc ngang ra thì em thấy trắc ngang chạy ra khoảng cách lẻ không theo một qui luật nào cà . nó xuất ra khoảng cách wá rộng đi. em muốn là trắc ngnag xuất ra với khoảng cách lẻ dày lên mà khoảng cách theo muốn của người dùng . NẾU ĐƯỢC XIN ĐA TẠ

    Vấn đề này bạn nên kiểm soát từ lúc làm số liệu. Nếu muốn trắc ngang xuất ra "đẹp" hoặc theo đúng mong muốn thì nên sửa file ntd gốc (hay bình đồ gốc).

    Cách sửa thế nào tuỳ thuộc vào địa hình và kinh nghiệm bạn có được. Nova ko vẽ được trắc ngang tự nhiên với khoảng cách lẻ "có quy luật" đâu, chỉ có người dùng "đưa quy luật" vào file ntd thì được :D


  3. Cái này em làm được lâu rùi bác ạ. Từ giai đoạn tính diện tích là em tính được hết trên Cad, sau đó điền diện tích trên trắc ngang và xuất bảng diện tích ra Excel y như Nova. Được cái tính bằng Lisp thì những khuôn đặc biệt, taluy phức tạp đều tính được đúng theo như ý mình muốn (mà cũng ko mất công lập các công thức tính khối lượng như thằng Nova), và đặc biệt hơn nữa là có chạy hơn 20Km trắc ngang 1 lúc cũng ko bị out như thằng Nova. :D

    Thế là chú cũng giấu bài đấy nhé :D Hôm nào "đọ hàng" xem cái nào chạy nhanh hơn chứ nhỉ :tongue2:

    Có thg bạn nhờ anh mới động thủ viết cái này đấy :D


  4. Đúng rồi. Bác Snow cho anh em tham khảo cái lisp "cấy cao độ trên Cad" đi :D

    Chú Chung cứ khích anh thế :D Cũng vì bước cấy cao độ mà anh chưa muốn tung cái Xuất số liệu NTD lên :tongue2: Khi nào tối ưu hơn nữa anh sẽ "tung ra thị trường", chú yên tâm đi. Thuật toán ko phức tạp lắm, chắc chú cũng đoán được rồi:

    - Số liệu đầu vào: polyline tim tuyến (đã có các đoạn cong) + các cọc (thể hiện bằng polyline vg góc tim tuyến)

    - Text cao độ, (block, point ...) các điểm mia (nằm trên hướng trắc ngang tại các cọc)

    --> chọn tim và chỉ vị trí các cọc --> ra file NTD (đầy đủ cong nằm theo đúng pline tim) :D


  5. Nâng cao một chút: có thể chỉnh sửa trong excel tùy ý theo đúng cấu trúc số liệu --> sẽ có số liệu mới mà khỏi cần dùng đến cái SSL hay RTDN cứng nhắc s_big.gif

    Nâng cao một chút nữa: có thể tạo file NTD từ CAD với lisp mà khỏi cần dùng đến NOVA

     

    chắc bác Snowman là cao thủ nova bác hãy hương dẫn mọi nguời về vấn đề trên đươc ko ? nếu duoc xin đa tạ

    Cái nâng cao thứ nhất thì đơn giản thôi mà, file NTD chỉ là file định dạng right text format (có thể tự tạo bằng cách đơn giản nhất là dùng notepad, cao cấp là excel)

    Cốt lõi của nó là cấu trúc các thành phần hàng cột ... với các từ quy ước (tạm gọi như vậy) như POLE (cọc) TARGETL (điểm mia trái) và TARGETR (điểm mia phải)

    các cột khoảng cách lẻ, cao độ, ký hiệu địa vật dạng NOBLOCK*0* (mã 0 tương ứng với ko có ký hiệu j ) ...

    Bạn chỉ cần nhìn vào file là thấy ngay cấu trúc thôi mà. Có thể dùng excel để chỉnh sửa thêm bớt cọc (copy cả bộ POLE - và các hàng TARGETL-TARGETR theo sau) hay thêm bớt điểm mia trái phải , sửa khoảng cách lẻ, cao độ... Bạn có thể tìm thêm trên diễn đàn hình như đã có bài hướng dẫn cụ thể hơn.

    Chú ý là số liệu Ntd 3.0 bị mã hóa, ko thể xem được, chỉ có từ ntd 3.2 trở lên mới soi chi tiết được. Việc nhập số liệu và chỉnh sửa từ excel linh động và nhanh hơn rất nhiều so với form nhập số liệu của nova, lại có thể "tùy chỉnh" hay "ma số liệu" nhanh hơn nhiều :D

    Phần nâng cao chút nữa ... dành cho những ng đam mê sáng tạo, sẽ thảo luận sau :tongue2:


  6. khi mặt cắt ngang xảy ra trường hợp bạt mái taluy(nền đào) thì nova tính diện tích rãnh bi sai. cao thủ nao co cách khắc phục không. cụ thể là khi đó nova sẽ tính dtích đào taluy và đào rãnh chồng chéo(trùng lặp). dẫn đến kq sai.

    Nova chỉ đưa ra các diện tích kiểu "diện tích đơn vị", các diện tích đơn vị của NOVA thì ko sai, chỉ có cách lập công thức diện tích sai dẫn đến sai khối lượng công tác. Thông thường ng ta chỉ tính đào nền, ko mấy khi tách riêng đào ta luy, mà diện tích đào nền chuẩn bao giờ cũng là DAONEN + DAOTLTR + DAOTLPH-DAORANHPH - DAORANHTR. Tốt nhất muốn tính đúng thì nên xem kỹ các kiểu diện tích đơn vị trong HDSD nova, còn chưa tin tưởng thì ...tính thủ công cho chắc :tongue2:

    (Có ai có ý tưởng tính khối lượng tự động trên CAD với lisp ko? :D )


  7. mình cũng bị lỗi như vậy. Khi dùng lệnh rtdn nhập số liệu sau đó save lại. Dùng lệnh " T" nhưng không mở được. trong phần " lenh " của mình không có phần: Xuất sang tệp nova tdn 3.0 như bạn nói vậy là sao vậy?

    Lỗi file NTD có thể do sai cấu trúc file, sai số liệu nhập hoặc do ...khác phiên bản. Lệnh xuất sang NOVA 3.0 chỉ có ở bản NOVA4.01 (R14 hoặc 2K). Sang đến bản 2005 thì Hài Hoà bỏ mất cái này (có thể là họ ko muốn ng ta dùng bản cũ nữa :tongue2: ), nhưng vẫn có thể sửa được bằng cách mở file ntd bằng excel (nên dùng OPEN with ... (ko nên open từ excel để tránh phức tạp). Nhìn lên dòng đầu tiên sẽ thấy:

    TDN Version 3.2

    SYMBOLS ND TD P TC NC

    (3.2 chính là mã hiệu nhận biết phiên bản NOVA4.01 (2K). Nếu nhập từ NOVA2005 sẽ là 3.5)

    Bạn chỉ cần sửa 3.2 thành 3.0 rồi save lại là có thể mở được bằng RTDN, xuất sang 3.0 ok (chú ý đừng save sang đuôi ...excel là được)

    Nâng cao một chút: có thể chỉnh sửa trong excel tùy ý theo đúng cấu trúc số liệu --> sẽ có số liệu mới mà khỏi cần dùng đến cái SSL hay RTDN cứng nhắc :D

    Nâng cao một chút nữa: có thể tạo file NTD từ CAD với lisp mà khỏi cần dùng đến NOVA :D


  8. 1. Thế giới vốn không công bằng. Bạn biết điều này chứ? Dù bạn có nhận thấy sự bất công trong xã hội hay không thì cũng đừng hy vọng làm thay đổi được nó. Việc cần làm là hãy thích nghi với nó.

     

    ( Sở dĩ như vậy là một mình bạn sẽ không thể nào làm thay đổi được sự bất công trong xã hội)

     

    2. Mọi người sẽ không bao giờ ngó ngàng đến lòng tự trọng của bạn, điều mà họ quan tâm chính là thành tựu mà bạn đạt được. Do đó, trước khi có được những thành tựu thì bạn đừng nên quá chú trọng hay cường điệu lòng tự trọng của bản thân mình lên.

     

    ( Lòng tự trọng quá cao sẽ tỷ lệ thuận với sự bất lợi trong công việc của bạn)

     

    3. Thường thì bạn sẽ không thể trở thành CEO nếu chỉ mới tốt nghiệp trung học. Nhưng khi bạn đã trở thành một CEO thì không còn ai để ý là bạn mới chỉ có tốt nghiệp trung học nữa.

     

    ( Lúc này người ta sẽ đánh giá và quan tâm nhiều đến năng lực hơn là bằng cấp của bạn)

     

    4. Khi bạn gặp khó khăn hay bế tắc trong công việc thì đừng có oán trách số phận. Điều bạn học được khi gặp trắc trở chính là kinh nghiệm và bài học để lần sau không bao giờ mắc phải nữa.

     

     

    ( Điều cần làm lúc này là trấn tĩnh và bắt tay làm lại từ đầu)

     

     

    5. Nên hiểu một điều rằng: Trước khi có bạn, bố mẹ bạn không phải là những người “chán ngắt, vô vị” như bạn của ngày hôm nay đã nghĩ. Đây chính là cái giá rất lớn mà bố mẹ đã phải trả cho sự trưởng thành của bạn.

     

    ( Bạn phải có nghĩa vụ đền đáp công ơn với những người đã dành cả cuộc đời mình cho sự sống và trưởng thành của bạn)

     

    6. Khi đi học, bạn đứng thứ mấy trong lớp cũng không phải là vấn đề quan trọng. Nhưng khi đã bước chân ra xã hội thì mọi việc lại không đơn giản như vậy. Dù đi đâu hay làm công việc gì bạn cũng nên tạo đẳng cấp cho mình.

     

    ( Luôn tự nhủ rằng bạn sẽ luôn là người đứng đầu, như vậy bạn sẽ có động lực và tinh thần nhiều hơn cho sự nghiệp của bản thân)

     

    7. Khi đi học, bạn luôn mong chờ đến ngày nghỉ lễ, Tết. Khi đi làm thì hoàn toàn không giống vậy, dường như là bạn sẽ không được nghỉ ngơi. Công việc sẽ cuốn bạn đi bất cứ lúc nào kể cả ngày nghỉ.

     

    ( Nếu là một nhân viên luôn mong chờ ngày nghỉ lễ thì bạn sẽ bị lạc hậu hơn so với những nhân viên khác. Sự lạc hậu này còn luôn đồng hành với sự đào thải và thất nghiệp).

     

    8. Khi ngồi trên ghế nhà trường, lúc gặp khó khăn trong học tập thì có giáo viên giúp đỡ bạn. Tuy nhiên, nếu lúc đó bạn lại cảm thấy mọi khó khăn đều do những yêu cầu quá nghiêm khắc từ phía giáo viên thì bạn đừng nên đi làm sau khi tốt nghiệp. Đơn giản nếu như không có những yêu cầu nghiêm khắc từ phía công ty thì chắc chắn bạn sẽ không làm được gì và sẽ nhanh chóng thất nghiệp, hơn nữa lúc này sẽ không có ai giúp đỡ bạn cả.

     

    ( Nên nhận thức được rằng: Công ty sẽ luôn yêu cầu cao hơn rất nhiều so với trường học. Vì ở trường học, dù bạn có học được hay không thì chỉ ảnh hưởng đến cá nhân bạn. Còn ở công ty bạn có làm được việc hay không thì lại ảnh hưởng đến rất nhiều người)

     

    9. Mọi người đều thích xem phim truyền hình, nhưng bạn không nên xem nhiều vì đó không phải là cuộc sống của bạn. Vì công việc ở công ty mới phản ánh cuộc sống thực của bạn.

     

    ( Bạn không nên xem nhiều vì tư tưởng của bạn sẽ bị ảnh hưởng bởi những bộ phim truyền hình đó. Cuộc sống của bạn nên do bạn quyết định.)

     

    10. Không bao giờ phê bình người khác sau lưng của họ, đặc biệt đừng bao giờ phê phán sếp là người không có năng lực, điều này là không đúng.

    ( Nếu bạn có thắc mắc gì trong công việc thì nên nói ý kiến của mình trước mặt mọi người. Còn nếu như bạn luôn giữ thái độ và hành động phản kháng sau lưng người khác thì chỉ có bất lợi cho bạn mà thôi).

    (Trích dẫn từ Bill Gates)

    Phương châm của riêng tôi: cố gắng tự mình trả lời những câu hỏi "tại sao?" thay vì đặt ra những câu hỏi như vậy. Đừng nói rằng ngành này giàu, ngành kia nghèo, ngành này tốt, ngành kia bạc ... Chỉ có con ng tự tạo ra những số phận khác nhau mà thôi...

    • Vote tăng 5

  9. Mình không có ý nói bạn không biết các lệnh của AutoCAD. Mà là mình nên sử dụng hết tất cả các lệnh của AutoCAD rồi hãy nghĩ đến việc tạo 1 lệnh AutoLisp mới. Không nên lạm dụng AutoLisp. AutoLisp không phải là chiếc đũa thần của chúng ta.

     

    Thế này nhé, bạn có biết các lệnh sau không nhé:

     

    1- Chuyển 1 block thành Xref

     

    2- Copy từ bản vẽ A và paste vào bản vẽ B với cùng tọa độ của bản vẽ A

     

    3- Copy thông tin từ file Excel vào file *.dwg với định dạng của AutoCAD - đối tượng của CAD

     

    4- Set lại đường dẫn cho các đối tượng trong file AutoCAD

     

    5- Thay đổi hàng loạt giá trị của Attribute Block mà không cần mở bản vẽ

     

    Nếu bạn trả lời được hết câu hỏi của mình thì rất hoan nghênh bạn gia nhập thế giới lập trình hỗ trợ cho AutoCAD :s_big:

     

    Chung quy lại là bạn A muốn bạn B cũng fải qua một quá trình giống như "nhiều người trên diễn đàn ngày trước chỉ được coi là "học mót" thôi, tuy nhiên sau một quá trình cố gắng thì họ đã đạt được những kiến thức cực tốt", chứ ko muốn bạn B ...

    Xin gợi ý cho B một cách làm rất "Việt Nam" thế này (vẫn dùng được lisp sẵn có mà ko fải fiền ai cả :cheers: ):

    B1- Lấy đường line của bạn làm cơ sở, vẽ đại một đường rồng rắn bao tất cả các thứ cần xóa đi (vẽ thật to, thật rộng sao cho bao ...hết 1/2 mặt fẳng Model là tốt nhất - cái này để cho giống ý nghĩa "đuờng phân cách" :gun: )

    B2- Lấy cái lisp mà bạn đã load được, dùng vô tư :s_big:

    B3- nếu bạn vẫn bảo lưu ý kiến, xem lại ...buớc 1 :s_big:

    • Vote tăng 1

  10. Để căn lề cho text, ngoài việc chỉnh mã Dfx 72, 73 còn fải chú ý đến 2 mã 10 và 11 (điểm chèn và điểm canh lề - hình như vậy). Với các text căn lề mặc định (72 . 0) (73 . 0) thì ko cần quan tâm tới mã 11 . Nhưng nếu chỉnh sửa 2 mã 72, 73 # 0 mà ko chỉnh lại mã 11 thì text sẽ bị ...bay về gốc 0. Cho nên fải thêm đoạn gán mã 11 bằng (x, y, z) mong muốn

    Tham khảo đoạn hàm tạo text tùy ý dưới đây:

    (defun txt_make	(contxt	   ins_po    cur_la    cur_st	 h_txt
    	 ro-txt	   wf-txt    code-72   code-73	 /
    	 ent_lst   cur_cl    htxt      aglpo
    	)
     (if (not (tblsearch "STYLE" cur_st))
       (setq cur_st (getvar "TEXTSTYLE"))
     )
     (if (not (tblsearch "Layer" cur_la))
       (setq cur_la (getvar "CLAYER"))
     )
    
     (setq	ent_lst	(append	'((0 . "TEXT"))
    		(list (cons 8 cur_la)
    		      (cons 40 h_txt)
    		      (cons 41 wf-txt)
    		      (cons 7 cur_st)
    		      (cons 50 ro-txt)
    		      (cons 1 contxt)
    		      (cons 10 ins_po)
    		)
    	)
     )
     (if (entmake ent_lst)
       (setq ent-txt (entlast)
      ent-lst (entget ent-txt)
      ent-lst (subst (cons 72 code-72) (assoc 72 ent-lst) ent-lst)
      ent-lst (subst (cons 73 code-73) (assoc 73 ent-lst) ent-lst)
      ent-lst (subst (cons 11 ins_po) (assoc 11 ent-lst) ent-lst)
    
      ent-txt (entmod ent-lst)
       )
     )
    
    )

     

    (Chú Natasa dạo này cũng thức khuya nhỉ, lại "trăn trở" chuyện vợ con ah?)


  11. Em có file này : http://www.cadviet.com/upfiles/2/cao_do_bac_kan.rar

    Các cao độ trong này đều là block thuộc tính, khi phá khối thì sẽ tạo ra 2đối tượng, ví dụ : 134.45 thì khi phá ra lại thành 2 đối tượng 134 và 45. Bác nào có cách giải quyết vấn đề này chỉ bảo e với nhé. Thanks :s_big:

    Đây là file số liệu dạng text, bạn thử CDTEP xem được ko (Hệ toạ độ CAD)

    http://www.cadviet.com/upfiles/2/cao_do_bac_kan.txt


  12. Cập nhật danh sách offline:

    1.Jikibo

    2.haanh

    3.gp14

    4.xuantran15

    5.nataca ( 0983.715.333.....Alo co' j hot')

    6.phantuhuong

    7.ph168xd

    8.svba1608

    9.tucdrom :0902.063.074

    10.retun

    11. Lamtecco2

    12.LXD

    13.mrdamkt

    14.Sally_nho_be

    15. Hoang cuong

    16. Đặng Vũ Hiệp

    17. Tho.td

    18. Mun~

    19.zdp284 (0972 509 996)

     

    Snowman chắc đang bận giặt tã cho con nên chưa rảnh tay đăng ký được :bigsmile:

    @ Natasa: Chú Natasa đúng là hiểu anh (hik!) (CN là ngày .. lao động vất vả nhất tuần của anh đấy!

    Các bác cho em xin một suất ...dự bị được ko :bigsmile: :bigsmile:

    @ Jikibo: Sao ko tổ chức ở Minh Khang cho gần, anh em "HN II" đi cho tiện?


  13. Chào các anh chị!

    Em đang làm thiết kế đường trên Nova for cad2004 (Bản crack).Hôm trước khi thiết kế xong một Km (đã hoàn thành tất cả các bươc, TK trắc dọc , trắc ngang , tính toán KL đào đắp và xuất bảng khối lượng thành công, điền thiết kế đầy đủ) em đã save lại.Sau đó em ko tắt đi mà standby máy và đi làm việc khác.Khi khởi động lại máy và mở file ra thì trên cửa sổ preview lúc thực hiện lệnh Open vẫn nhìn thấy đầy đủ các đối tượng đã làm( bảng KL đào đắp) nhưng khi open xong thì ko thấy cái bảng này đâu nữa , va một số trắc ngang đã điền thiết kế cũng mất luôn kết quả Điền thiết kế, một số trắc ngang vẫn còn.Em đã điện thiết kế lại những trắc ngang mất nhưng ko được.Các bác mách giùm cách khắc phục với.Em vẫn chưa biết làm thế nào.

    Thanks các bác!

    :blink: Đọc thấy giống "Đồng hào có ma" của Nguyễn Công Hoan quá :s_big: Nhiều người có tật: cứ lỗi gì của Nova cũng dồn vào "bản crack", đâu fải crack là "gãy", "vỡ" lung tung đâu :blink: chẳng qua chưa đọc kỹ hướng dẫn sử dụng trước khi dùng :blink: .

    Một là bạn mở file bằng CAD2006 trở lên mà chưa đặt chế độ show proxy (khả năng này ít xảy ra vì các đối tượng tk trên tn ko thể nào "mất" được) Hãy thử chạy nova rồi mở file từ nova xem

    Hai là bạn ...lỡ quên save trong quá trình làm (khả năng này dễ xảy ra nhất :cry: hãy kiểm tra các file backup xem bạn save lần cuối vào tg nào

    Ba là file nova của bạn bị can thiệp nhiều quá bằng các lệnh UNDO, REDO (hai cái này nên ...cấm tuyệt đối trong khi tk :) , copy (đối tượng NOVA). khả năng này cũng khó xảy ra vì nếu hỏng file là die luôn chứ ít khi ...một mất một còn :) )

    Khả năng cuối cùng là bạn đặt chế độ autosave và ...power off đúng lúc file cuả bạn saving ---> thường những file này ko mở được nữa hoặc recover lại thì toi mất một phần.


  14. Có một lần mình đã chuyển được từ File cad (.Dwg) sang Pdf mà vẫn giữ nguyên được quản lý layer riêng rẽ (tức là mình muốn ẩn muốn hiện gì nó đều được-> rất linh hoạt)

     

    ScreenHunter_01_Jul_03_1110.gif

     

    Đây là file PDF

     

    Khổ một nỗi lần sau làm lại thì không nhớ là mình đã làm thế nào :blink: . Giờ lại đưa lên đây hỏi mọi người xem ai đã từng làm được như thế này không. (khổ thế dạo này đầu óc lú lẫn :s_big: )

    Khi in từ Dwg thì file PDF nào cũng có layer chú "Natasa" ạ! Bình thường thì ko ai để ý đến cái Layer panel (trong View/navigation panel) thôi

    Nếu muốn chỉnh sửa các đối tượng trong bản vẽ PDF thì tìm soft FOXIT EDITOR, rất nhẹ mà hiệu quả bất ngờ, có thể xoá đối tượng, them page, thêm text ...

    Ps: Hình như in bằng các phần mềm như Pdffactory pro hay fineprint thì ko còn layer thì phải.


  15. Cảm ơn bác nhiều nhé . em cũng nghĩ chỉ có một cách như bác nói thôi , nhưng các trắc ngang là hoàn toàn khác nhau nên việc CTK rồi cũng phải sửa lại bằng tay . thanks alot

    Cái này mà dùng mấy cái lsp thì mới hợp này :lol2: Thay thế những công việc lặp đi lặp lại và rất nhàm chán :D Bạn tìm lại mấy cái lisp thiết kế ta luy hôm trước Natasa vừa post ấy! TRong đó tôi có cả mấy cái lisp thiết kế taluy rãnh xây đá và chèn block đá xây luôn đấy!

    Chú ý: lsp chỉ dùng với Nova 2K trở lên (tốt nhất là give up cái CAD14 đi :lol2: )


  16. các bác nào có lisp tính diện tích HATCH được ko vậy?

    Lấy dt hatch cũng như lấy dt polyline mà ( lệnh area trong CAD cho phép chọn cả hatch)

    Còn đây là lisp: Tên lệnh "DT", chọn các đối tượng --> chọn lỗ thủng (đối tượng cần trừ dt) --> Chọn text hoặc chỉ điểm chèn kết quả

     

    (defun myerror (s)
     (cond
       ((= s "quit / exit abort") (princ))
       ((/= s "Function cancelled") (princ (strcat "\nError: " s)))
     )
     (setvar "cmdecho" CMD)		; Restore saved modes
     (setvar "osmode" OSM)
     (setq *error* OLDERR)			; Restore old *error* handler
     (princ)
    )
    
    (defun bocchu (ss1 c)
     (setq ob (entget (ssname ss1 c)))
     (setq ts (assoc 1 ob))
     (setq a (cdr ts))
    )
    (defun sothanhchuint (num)
     (if (> num 0)
       (strcat "+" (rtos num 2 2))
       (rtos num 2 2)
     )
    )
    (defun sothanhchuintreal (num) (rtos num 2 2))
    (defun sothanhchuintreal1 (num) (rtos num 2 0))
    
    
    (defun Noichu (Ob newstr key)
     (setq txtstr (assoc 1 Ob))
     (setq newstr (cons 1 (strcat (cdr txtstr) key newstr)))
     (entmod (subst newstr txtstr Ob))
    )
    
    (defun thaychu (Ob newstr / obtmp)
     (setq txtstr (assoc 1 Ob))
     (setq	newstr (cons 1 newstr)
    obtmp  (entmod (subst newstr txtstr Ob))
     )
     (entupd (cdr (assoc -1 obtmp)))
    )
    (defun chonchu (dongnhac)
     (prompt dongnhac)
     (ssget
       '((-4 . "      (0 . "text")
         (0 . "mtext")
         (0 . "ATTRIB")
         (-4 . "OR>")
        )
     )
    )
    
    (defun chon1chu	(dongnhac / obj objtype)
     (if (setq obj (nentsel dongnhac))
       (setq obj	  (entget (car obj))
      objtype (cdr (assoc 0 obj))
       )
     )
     (if (member objtype '("ATTRIB" "MTEXT" "TEXT"))
       (setq obj obj)
     )
    )
    
    
    (defun chon (str) (ssget '((cons (0 str)))))
    (defun bamchon (st) (entget (car (entsel st))))
    (defun bocdt (ss1 c) (entget (ssname ss1 c)))
    ;;;;================================================
    ;;;====================================================== 
    ;;;Tinh dien tich bang cach chon doi tuong
    
    (defun C:dt (/ pt1 Objare objtxt dtich dtich1 ss1 ss2 ss3 lacol)
    
     (command "UCS" "W" "")
     (command "Undo" "Mark")
     (setq oldos (getvar "OsMODE"))
    
     (princ "\nChän ®èi t­îng cÇn lÊy diÖn tÝch")
     (setq Objare (car (nentsel)))
     (while
       (not
         (member (cdr (assoc 0 (entget objare)))
          '("POLYLINE" "LWPOLYLINE" "SPLINE" "CIRCLE" "HATCH")
         )
       )
        (prompt
          "\n§èi t­îng kh«ng ®óng kiÓu! Chän l¹i ®èi t­îng cÇn lÊy diÖn tÝch ..."
        )
        (setq objare (car (nentsel))
        )
     )
     (command "area" "o" Objare)
     (setq dtich (getvar "Area"))
    
     (princ "\nChän ®èi t­îng cÇn lÊy diÖn tÝch tiÕp theo (Enter ®Ó dõng l¹i)")
     (setq Objare (car (nentsel)))
    
     (while (/= Objare nil)
       (if
         (not
    (member	(cdr (assoc 0 (entget objare)))
    	'("POLYLINE" "LWPOLYLINE" "SPLINE" "CIRCLE" "HATCH")
    )
         )
          (prompt
     "\n§èi t­îng kh«ng ®óng kiÓu! Chän l¹i ®èi t­îng cÇn lÊy diÖn tÝch ..."
          )
          (progn
     (command "area" "o" Objare)
     (setq dtich1 (getvar "Area")
           dtich  (+ dtich dtich1)
     )
          )
       )
       (princ "\nChän ®èi t­îng cÇn lÊy diÖn tÝch tiÕp theo (Enter ®Ó dõng l¹i)")
       (setq Objare (car (nentsel)))
    
     )
    
     (princ "\nChän ®èi t­îng lç thñng (cÇn trõ diÖn tÝch)...")
     (setq Objare (car (nentsel)))
    
     (while (/= Objare nil)
       (if
         (not
    (member	(cdr (assoc 0 (entget objare)))
    	'("POLYLINE" "LWPOLYLINE" "SPLINE" "CIRCLE" "HATCH")
    )
         )
          (prompt
     "\n§èi t­îng kh«ng ®óng kiÓu! Chän l¹i ®èi t­îng ..."
          )
          (progn
     (command "area" "o" Objare)
     (setq dtich1 (* -1 (getvar "Area"))
           dtich  (+ dtich dtich1)
     )
    
          )
       )
       (princ "\nChän ®èi t­îng lç thñng tiÕp theo (Enter ®Ó dõng l¹i)")
       (setq Objare (car (nentsel)))
    
     )
    
     (setq objtxt (chon1chu "\nChän text chøa kÕt qu¶ diÖn tÝch (Enter ®Ó t¹o text míi)"))
     (if (/= objtxt nil)
       (progn
         (setq st (sothanhchuintreal dtich))
         (thaychu objtxt st)
       )
       (progn
         (setq st (sothanhchuintreal dtich))
         (setq pt1 (getpoint "\n Diem dat text: "))
         (command "text" pt1 "" "" st)
       )
     )
    )
    

     

    Chú ý với Tiếng Việt ở Command line :lol2:


  17. Xin miễn bàn đến vấn đề tuổi tác ở đây :lol2: (Xưng hô thế nào cho zui zẻ là được rồi)

    Với bình đồ như của bạn có thể tạo file số liệu nova nhanh chóng mà ko cần dùng lệnh nt cấy thủ công (xuất cao độ từ tất cả các block rồi cdtep vào Nova)

    Nhưng vấn dề ở chỗ: với cácc điểm cao trình đó, định nghĩa tuyến và cọc giống hệt, Nova sẽ cho ra các trắc ngang ko hoàn toàn giống như trắc ngang bạn có. (Cái này mình cũng đã làm thử nhiều lần nhưng ko thành công). Đó là do thuật toán nội suy lưới tam giác đã "bóp méo" số liệu một cách máy móc. Nên cách tốt nhất là làm file ntd chính xác từ CAD. Nếu đã có file bình đồ với các block cao độ đầy đủ thì việc chuyển sang text cao độ rất đơn giản: xuất cao độ thành file rồi xuất ngược lại file thành các text trong CAD. Trường hợp của mình là số liệu đo rất sơ sài, phải kết hợp sơ họa để "ma số liệu" mới fải cấy text một cách thủ công :lol2: (Cách này dùng với những công trình "fast foot" rất tiện :cry: Tg khảo sát + tkế chỉ mất vài ngày :D )

    @ Thaistreetz : Thks! Nhưng ko fải chữ ký đẹp mà là một bài hát đẹp :D


  18. cảm ơn bạn đã giúp đỡ, mình thấy cái này còn bất tiện ở chổ sau mỗi lần chọn thì nó lại hỏi mở một file. Mình muốn như thế này:

    Sau khi chạy lisp thì nó hỏi lưu file vào chỗ nào

    Sau đó mình chọn đối tượng rồi ấn enter thì nó sẽ lưu vào file đó. Rồi chọn đối tượng khác (mặt cắt khác) rồi ấn enter thì nó sẽ tiếp tục lưu vào file trên (ở dòng bên dưới của lần chọn trước)

    Với lại khi mình dùng excel mở ra thì mỗi dòng nó lại nằm trong một ô trong excel (nhiều số cùng nằm trong một ô). Mình muốn mỗi số mỗi ô(mỗi text trong cad mỗi ô trong excel), như thế mình mới tính toán được.

    Thank!

    Xin fép tác giả, em cải biên đoạn lisp này đi một chút (nhân tiện có việc cần dùng đến :lol2: Em có một cái trích xuất cả bảng dữ liệu sang excel nhưng chỉ tiện cho việc trình bày, ko tiện thống kê khối lượng)

    (defun ss2ent (ss / i Le e)
     (setq	i  0
    Le nil
     )
     (repeat (sslength ss)
       (setq
         e	 (ssname ss i)
         Le (append Le (list e))
         i	 (1+ i)
       )
     )
     Le
    )
    				;---------------------
    (defun c:slb ()
     (command "undo" "be")
     (setvar "osmode" 0)
    
     (princ "\nSelect all texts of column S,L,B... ")
     (setq strlst '()
    )
     (while
       (setq ssT (ssget '((0 . "text"))))
        (setq
          LenT (ss2ent sst)
        )
        (setq strnum "")
        (foreach enT LenT
          (redraw enT 3)
          (setq objText (vlax-ename->vla-object enT))
          (setq num (vlax-get-property objText 'TextString))
          (setq strnum (strcat strnum num "\t"))
        )
        (setq strlst (append strlst (list strnum)))
        (princ "\nSelect all texts of column (S,L,:D: ")
     )
     ;;---------------xuat ra file----------------
     (if flag
       (setq fn (getfiled "select file: " "" "xls" 8)
      f  (open fn "a")
       )
       (setq fn (getfiled "select file: " "" "xls" 1)
      f  (open fn "a")
      flag T
       )
     )
     (if ctl
    
     (setq
       ctl	(1+ ctl)
     )
     (setq
       ctl	1
     )
       )
    
     (foreach strline Strlst
       (setq Brkline (strcat "Du lieu trac ngang thu: " (itoa ctl))
      ctl	  (1+ ctl)
       )
       (write-line Brkline f)
       (write-line Strline f)
     )
     (close f)
     (command "REGENALL")
     (command "undo" "end")
     (princ "\nThank you for used my lisp - THIEP 0918841230")
     (princ)
    )

    (Cái codebox này vẫn chưa bỏ được lỗi emotion nhỉ paste code vào mà ko để ý là hỏng luôn)

    (Lâu lắm rồi mới "tái xuất" CADVIET :lol2: )

    • Vote tăng 1

  19. Mình down đc rồi, sáng nay hình như hệ thống upload của diễn đàn bị lỗi thì fải. bạn có thể cho mình biết cách chuyển số liệu về file ntd như trên đc không?

    Bác Đoàn Duy Hưng định giấu nghề anh em đây mà :lol2: lần sau có ctrình tương tự thì ...gửi tiếp bác ấy rồi ....trích ít % trà thuốc :lol2:

    Em có một cái lisp nho nhỏ tạo file ntd từ bình đồ, (tương tự BĐ của bác Thaistreetz, nhưng các điểm cao độ là text chứ ko fải là block) (Chả là ma số liệu trên Nova lâu quá nên chuyển sang cấy text trên CAD rồi tạo file ntd cho tiện :cry: ), cái này em mới xong 99.9% :D do yêu cầu sản xuất cần...ứng dụng ngay nên chưa có tg hoàn thiện nốt :D Khi nào xong em sẽ viết 1 cái để ...xin ít % của bác Thaistreetz


  20. heeeeeeeeee thì làm theo thế chẳng "động" đấy còn j` nữa

    ngồi rỗi wa' nên nghĩ ra trò để anh em bàn luận vui vẻ mà

    làm việc nặng nhọc mãi quần quật cả ngày rồi. a e phải nghỉ ngơi ti' :lol2:

    Vui thật! bác này giống em rồi, em ôm máy suốt ngày, ở cty thì cày việc công, ở nhà cày việc riêng, (vợ suốt này càu nhàu: "yêu PC hơn ... yêu vợ". nhưng dù có bận đến mấy cũng fải thỉnh thoảng "nghỉ ngơi thư giãn" bằng cách ... lướt net, vọc fần mềm mới, hay ...code lisp :lol2: Ngày xưa học Pascal em cũng "thư giãn" bằng cách làm mấy cái hình chạy nhăng nhít. Chắc lúc nào rảnh em cũng viết cái lisp làm ...cartoon cho con nhà em nó xem :D


  21. Chú Natasa! Chú lục lại đồ nghề của "tiền bối" thì cũng nên hỏi trực tiếp "tiền bối" chứ :mellow:

    Mấy cái lisp này có "ý nghĩa lịch sử" của nó đấy, bọn anh dùng suốt mà !(anh tưởng hồi trước chú đã được truyền "bí kíp" này rồi chứ nhỉ :mellow: )

    Mấy cái lisp này hiện đại lắm, chỉ dùng với Nova 2K trở lên thôi chú ạ!

    Nova 2K cũng cho khai báo taluy dạng bất kỳ nhưng chỉ áp một loạt giống nhau là nhanh, ko cơ động bằng lisp.

    Dùng lisp để rút ngắn một số lệnh của Nova 2K cũng tiện, nhưng nếu ko quen dùng sẽ ... fatal error ---> làm lại từ đầu :cheers:

    Ps: Chú Natasa với mấy a e dạo này cày cuốc bận rộn lắm fải ko? :cheers:

×