Class Model
Lớp Model đại diện cho một mô hình duy nhất được mở trong Tekla Structures. Trước khi tương tác với mô hình, người dùng sẽ phải tạo một phiên bản của lớp này.
Hàm khởi tạo
Tekla.Structures.Model.Model _mymodel = new Tekla.Structures.Model.Model();
Methods
Quảng Cáo
CommitChanges() | “CommitChanges” là một hành động ghi lại những thay đổi đã được thực hiện trong cơ sở dữ liệu mô hình cho đến nay. Một commit là một hành động mà người dùng sau này có thể hoàn tác bằng lệnh “undo”. Ngoài ra, một commit cũng kích hoạt việc vẽ lại mô hình sản phẩm đã thay đổi trên các tầm nhìn hiển thị. Một plug-in phụ thuộc không nên gọi CommitChanges, vì điều này sẽ làm cho việc hoàn tác trở nên rất khó khăn đối với người dùng. Tuy nhiên, các plug-in không phụ thuộc yêu cầu một commit riêng nếu các đối tượng mới được tạo ra. |
CommitChanges(String) | “CommitChanges” là hành động ghi lại những thay đổi đã được thực hiện trong cơ sở dữ liệu mô hình cho đến nay. Mỗi lần commit tạo ra một điểm mà người dùng có thể sau này hoàn tác bằng lệnh “undo”. Ngoài ra, một commit cũng kích hoạt việc vẽ lại mô hình sản phẩm đã thay đổi trên các tầm nhìn hiển thị. Một plug-in không nên gọi CommitChanges, vì điều này sẽ làm cho quá trình hoàn tác trở nên rất khó khăn đối với người dùng. |
FetchModelObjects | Truy xuất danh sách các đối tượng mô hình dựa trên danh sách GUID cung cấp của các đối tượng, kiểm tra xem GUID có phải là native hay external (đối với đối tượng mô hình tham chiếu), và tùy chọn chọn các đối tượng trước khi trả về. |
GetClashCheckHandler | Trả về một trình xử lý kiểm tra xung đột mới. |
GetConnectionStatus | Trả về true nếu đã thiết lập một kết nối chính xác đến quy trình Tekla Structures. Hiện tại, không có cách nào để thiết lập lại kết nối. |
GetGUIDByIdentifier | Trả về GUID của thể hiện được cung cấp của định danh. |
GetIdentifierByGUID | Trả về một thể hiện định danh có GUID được cung cấp trong mô hình. |
GetInfo | Trả về thông tin về mô hình đang mở hiện tại. |
GetModelObjectSelector | Trả về một ModelObjectSelector từ đó có thể thực hiện các loại lựa chọn khác nhau. |
GetPhases | Trả về thông tin về các giai đoạn của mô hình hiện tại. |
GetProjectInfo | Trả về thông tin về dự án của mô hình hiện tại. |
GetWorkPlaneHandler | Trả về một bộ xử lý mặt công việc mới cho mô hình. Bộ xử lý mặt công việc có thể được sử dụng để thao tác trên mặt công việc hiện tại trong mô hình. |
Các hàm hay dùng
- CommitChangers()
- GetConnectionStatus()
- GetInfo()
- GetProjectInfo()
- GetWorkPlaneHandler()
Kiểm tra kết nối của ứng ụng với Tekla Structures
Dùng một đối tượng label để trả về kết quả
//Hàm kiểm tra kết nối của ứng dụng và Tekla Structures if (_Mymodel.GetConnectionStatus()==true) { label1.Text = "Kết nối thành công"; label1.ForeColor = Color.Blue; } else { label1.Text = "Kết nối thất bại"; label1.ForeColor = Color.Red; }
Thêm hàm kiểm tra vào sự kiện FormLoad hoặc ngày hàm khởi chạy của ứng dụng
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; //Model using TS = Tekla.Structures; using TSG = Tekla.Structures.Geometry3d; using TSM = Tekla.Structures.Model; using TSMUI = Tekla.Structures.Model.UI; //Drawing using TSD = Tekla.Structures.Drawing; using TSDUI = Tekla.Structures.Drawing.UI; namespace LuCi_TEST1 { public partial class Main : Form { public Main() { InitializeComponent(); _Mymodel = new TSM.Model(); // Khi ứng dụng chạy gán _Mymodel bằng model mới //Hàm kiểm tra kết nối của ứng dụng và Tekla Structures if (_Mymodel.GetConnectionStatus()==true) { label1.Text = "Kết nối thành công"; label1.ForeColor = Color.Blue; } else { label1.Text = "Kết nối thất bại"; label1.ForeColor = Color.Blue; } } public TSM.Model _Mymodel { get; set; } // Hàm khởi tạo Model } }
Start phần mềm để kiểm tra
Kết nối thành công nếu đã mở một hoặc nhiều mô hình trong Tekla Structures (Trong trường hợp mở nhiều mô hình, ứng dụng sẽ hoạt động và kết nối với mô hình mở đầu tiên)
Kết nối thất bại, có một số nguyên nhân như sau:
- Chưa mở mô hình trong Tekla Structures
- Chưa cài Nuget Packages hoặc phiên bản Nuget Packages đang không đúng với phiên bản Tekla Structures (Hướng dẫn Add Nuget Packages)