Змінюй хід війни! Допомагай ЗСУ!
  • Знижка на баннерну рекламу 30%! Банер на всіх сторінках сайту, в мобільній та десктопній версії за 14 тис. грн на місяць. Статистика сайту. Контакт: kharkovforum.com@gmail.com

Solidworks API

  • Автор теми Автор теми Fanshtorm
  • Дата створення Дата створення
Статус: Офлайн
Реєстрація: 19.08.2006
Повідом.: 2281
Ищу "брата по разуму". Ну т.е. человека, который балуется макросами в солиде.
Для обмена опытом :)
 
Когда-то было дело, писали на делфи для солида, в VB не захотел разбираться...
 
Что интересного писали? Какие-нибудь нестандартные конструктивные элементы для модели или чисто по управлению пользовательскими свойствами документа?
 
Зайдите на любую кафедру в ХПИ или ХАИ, где работают с солидом и там вам покажут эти макросы )))
Можете даже лабы пописать :)

А чем хелп к солиду по API не устраивает? Почти ко всему примеры есть. Или тема *****деть? :)

This example shows how to copy and paste drawing sheets.


//-----------------------------------------------------------------------------
// Preconditions:
// 1. Open a drawing document.
// 2. Open an Immediate Window.
// 3. Rename the namespace of this macro to match the name of your C# project.
//
// Postconditions:
// Sheet1 is copied and pasted to three locations in the drawing document.
//------------------------------------
using SolidWorks.Interop.sldworks;
using SolidWorks.Interop.swconst;
using System;
using System.Diagnostics;
namespace PasteSheet_CSharp.csproj
{
partial class SolidWorksMacro
{

DrawingDoc Part;
ModelDoc2 swModel;
bool boolstatus;

public void Main()
{

swModel = (ModelDoc2)swApp.ActiveDoc;
Part = (DrawingDoc)swModel;

if ((Part == null))
{
Debug.Print(" Please Open Drawing Document ");
}
else
{
Sheet currentsheet = default(Sheet);
currentsheet = (Sheet)Part.GetCurrentSheet();
swModel.EditCopy();

boolstatus = swModel.Extension.SelectByID2("Sheet1", "SHEET", 0, 0, 0, false, 0, null, 0);

boolstatus = Part.PasteSheet((int)swInsertOptions_e.swInsertOption_BeforeSelectedSheet, (int)swRenameOptions_e.swRenameOption_Yes);

Part.ActivateSheet(currentsheet.GetName());

boolstatus = Part.PasteSheet((int)swInsertOptions_e.swInsertOption_AfterSelectedSheet, (int)swRenameOptions_e.swRenameOption_No);

Part.ActivateSheet(currentsheet.GetName());

boolstatus = Part.PasteSheet((int)swInsertOptions_e.swInsertOption_MoveToEnd, (int)swRenameOptions_e.swRenameOption_Yes);
}
}
public SldWorks swApp;
}
}
 
Именно *****деть. В хелпе по апи к солиду я как рыба в воде :)
 
когда в хпи учился (полтора года назад) писал много всего с использованием апи солида (на делфи и с#), если что могу что-то подсказать
 
когда в хпи учился (полтора года назад) писал много всего с использованием апи солида (на делфи и с#), если что могу что-то подсказать

Как на счёт "привязать точу эскиза к силуэтной кромке"?
выбрать эту кромку весьма проблематично (насколько я понял её выбрать теоретически можно только методом SelectByID, но только угадав координаты в пространстве точки "тыка", что практически нереально). Ссылку на саму кромку получить не проблема, но через эту ссылку (как написано в хэлпе) выбрать её нельзя (в отличие от остальных кромок).
 
Назад
Зверху Знизу