1 938 сообщений в этой теме
4 часа назад, heatex сказал:

Необходимо определить общее количество отверстий, независимо от их формы, т.е. количество замкнутых контуров в эскизах.

А если просто количество вырезов на поверхности, а не в эскизе, пойдёт? Вот пример из справки, немного переделанный, выберите плоскость перед запуском макроса.

 

Скрытый текст

Option Explicit

Sub main()

    Dim swApp                   As SldWorks.SldWorks
     Dim swModel                 As SldWorks.ModelDoc2
     Dim swSelMgr                As SldWorks.SelectionMgr
     Dim swFace                  As SldWorks.Face2
     Dim swLoop                  As SldWorks.Loop2
     Dim swCut                  As Integer

    Set swApp = CreateObject("SldWorks.Application")
     Set swModel = swApp.ActiveDoc
     Set swSelMgr = swModel.SelectionManager
     Set swFace = swSelMgr.GetSelectedObject6(1, -1)
     If swFace Is Nothing Then
     MsgBox "Выберите плоскость с вырезами"
     Exit Sub
     Else
     Set swLoop = swFace.GetFirstLoop
     End If

    swCut = swFace.GetLoopCount - 1
    MsgBox "К-во вырезов на плоскости = " & swCut
    
    While Not swLoop Is Nothing

        Set swLoop = swLoop.GetNext
     Wend

End Sub

 

 

1 пользователю понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах


1 час назад, streamdown сказал:

Так, глядишь, дорастём до состояния, когда и макрос вопрошающему не понадобится.

О макросе речь не идёт, я лишь спрашивал о возможности извлечения информации о контурах эскиза. Поскольку каких-либо FeatureData для выреза в справке по api самостоятельно не нашёл.

8 минут назад, Kir95 сказал:

А если просто количество вырезов на поверхности, а не в эскизе, пойдёт? Вот пример из справки, немного переделанный, выберите плоскость перед запуском макроса.

 

  Показать содержимое


Option Explicit

Sub main()

    Dim swApp                   As SldWorks.SldWorks
     Dim swModel                 As SldWorks.ModelDoc2
     Dim swSelMgr                As SldWorks.SelectionMgr
     Dim swFace                  As SldWorks.Face2
     Dim swLoop                  As SldWorks.Loop2
     Dim swCut                  As Integer

    Set swApp = CreateObject("SldWorks.Application")
     Set swModel = swApp.ActiveDoc
     Set swSelMgr = swModel.SelectionManager
     Set swFace = swSelMgr.GetSelectedObject6(1, -1)
     If swFace Is Nothing Then
     MsgBox "Выберите плоскость с вырезами"
     Exit Sub
     Else
     Set swLoop = swFace.GetFirstLoop
     End If

    swCut = swFace.GetLoopCount - 1
    MsgBox "К-во вырезов на плоскости = " & swCut
    
    While Not swLoop Is Nothing

        Set swLoop = swLoop.GetNext
     Wend

End Sub

 

 

Благодарю за наводку, попробую с плоскостью.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
54 минуты назад, Sla_68 сказал:

Уже начиная с этой фразы "что то не так".  Во первых , однотипные детали лучше создавать без макросов. И вообще если можно, то лучше вообще избегать макросы.

 

Непонятно ... Чтобы объединять макросы  можно использовать процедуры и функции с аргументами и без. Это нужно изучать в базовом программировании. Любую процедуру можно запускать внутри любой другой процедуры.

 

вот эта цитата вообще "по мне" бред какой то. С чего вы взяли что "простое" и "сложное" кому то ведомо . Это с вашей точки зрения так мир устроен.

 

Вообще вы меня извините, но так нельзя ставить задачи.

Спасибо, вы правы. Буду разбираться с азами программирования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Hello, SolidWorld! :smile:

 

Делаю первые шаги в SW API - пока не получается. Установил API SDK SW2012. Использую MS Visual Studio 2008 C++. Создал новый проект, скомпилировал. Далее, действуя по инструкции (см. цитату ниже), получил сообщение:

RegAsm: error RA0000 : Сбой при загрузке "D:\test\SwAddin3\Debug\SwAddin3.dll" из-за недопустимой сборки .NET

 

Может версии ПО несовместимы, подскажите?

 

В 04.03.2011 в 12:30, streamdown сказал:

библиотеку зарегистрировать надо

создать батник, в нём написать

C:\windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe Имя_библиотеки /codebase

запустить в папке debug

Изменено пользователем VIKT0R

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, VIKT0R сказал:

подскажите?

Подскажу. Вы пытаетесь нативную dll ку зарегистрировать через .NET

Так не получится и так не будет. Это 2 совершенно разные технологии.

8 часов назад, VIKT0R сказал:

Создал новый проект, скомпилировал

Как создали, скомпилировали с параметрами регистрации?

1 пользователю понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, streamdown сказал:

Как создали, скомпилировали с параметрами регистрации?

После установки API SDK в MS Visual Studio появился новый шаблон проекта "SolidWorks COM Non-Attributed Addin". Я использовал этот шаблон, ничего не добавляя от себя, только прописал путь к SW, т.к. компилятор не видел импортируемые файлы *.tlb.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кому приходилось использовать при написании программы document manager key? Следуя примеру из хелпа:

Скрытый текст

Imports SolidWorks.Interop.swdocumentmgr
Module Module1

    Sub ProcessDocCustomProperties(ByVal swDoc As SwDMDocument17)

        Dim vCustPropNameArr As Object
        Dim vCustPropName As Object
        Dim sCustPropStr As String
        Dim sCustPropStrWOPrefix As String
        Dim nPropType As Long


        vCustPropNameArr = swDoc.GetCustomPropertyNames : If IsNothing(vCustPropNameArr) Then Exit Sub
        Debug.Print("  Document Custom Properties:")

        For Each vCustPropName In vCustPropNameArr
            sCustPropStr = swDoc.GetCustomProperty(vCustPropName, nPropType)
            Debug.Print("    Prefaced     = " & vCustPropName & " <" & nPropType & "> = " & sCustPropStr)

            sCustPropStrWOPrefix = swDoc.GetCustomProperty2(vCustPropName, nPropType)
            Debug.Print("    Not Prefaced = " & vCustPropName & " <" & nPropType & "> = " & sCustPropStrWOPrefix)

            Debug.Print("")

        Next

        Debug.Print("")

    End Sub



    Sub ProcessConfigCustomProperties(ByVal swCfg As SwDMConfiguration14)

        Dim vCustPropNameArr As Object
        Dim vCustPropName As Object
        Dim sCustPropStr As String
        Dim sCustPropStrWOPrefix As String
        Dim nPropType As Long

        vCustPropNameArr = swCfg.GetCustomPropertyNames
        If IsNothing(vCustPropNameArr) Then Exit Sub
        Debug.Print("    Configuration Custom Properties:")

        For Each vCustPropName In vCustPropNameArr
            sCustPropStr = swCfg.GetCustomProperty(vCustPropName, nPropType)
            Debug.Print("      Prefaced     = " & vCustPropName & " <" & nPropType & "> = " & sCustPropStr)

            sCustPropStrWOPrefix = swCfg.GetCustomProperty2(vCustPropName, nPropType)
            Debug.Print("      Not Prefaced = " & vCustPropName & " <" & nPropType & "> = " & sCustPropStrWOPrefix)

            Debug.Print("")
        Next

        Debug.Print("")

    End Sub



    Sub main()

        Const sLicenseKey As String = "ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ключ-ч"
        Const sDocFileName As String = "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\samples\tutorial\api\ExternalReferencedPart.sldprt"

        Dim swClassFact As SwDMClassFactory
        Dim swDocMgr As SwDMApplication
        Dim swDoc As SwDMDocument17
        Dim swCfgMgr As SwDMConfigurationMgr
        Dim vCfgNameArr As Object
        Dim vCfgName As Object
        Dim swCfg As SwDMConfiguration14
        Dim nDocType As Long
        Dim nRetVal As Long


        ' Determine type of SOLIDWORKS file based on file extension

        If InStr(LCase(sDocFileName), "sldprt") > 0 Then
            nDocType = SwDmDocumentType.swDmDocumentPart
        ElseIf InStr(LCase(sDocFileName), "sldasm") > 0 Then
            nDocType = SwDmDocumentType.swDmDocumentAssembly
        ElseIf InStr(LCase(sDocFileName), "slddrw") > 0 Then
            nDocType = SwDmDocumentType.swDmDocumentDrawing
        Else

            ' Not a SOLIDWORKS file
            nDocType = SwDmDocumentType.swDmDocumentUnknown

            ' So cannot open
            Exit Sub

        End If

        ' Because drawing documents do not have configurations, 
        ' only continue running the project if the document
        ' is a part or assembly document

        If (nDocType <> SwDmDocumentType.swDmDocumentDrawing) Then

            swClassFact = CreateObject("SwDocumentMgr.SwDMClassFactory")
            swDocMgr = swClassFact.GetApplication(sLicenseKey)
            swDoc = swDocMgr.GetDocument(sDocFileName, nDocType, False, nRetVal) : Debug.Assert(SwDmDocumentOpenError.swDmDocumentOpenErrorNone = nRetVal)
            swCfgMgr = swDoc.ConfigurationManager

            Debug.Print("File = " & swDoc.FullName)
            Debug.Print("  ActiveCfgName           = " & swCfgMgr.GetActiveConfigurationName)
            Debug.Print("")
            Debug.Print("  Version                 = " & swDoc.GetVersion)
            Debug.Print("  Author                  = " & swDoc.Author)
            Debug.Print("  Comments                = " & swDoc.Comments)
            Debug.Print("  CreationDate (string)   = " & swDoc.CreationDate)
            Debug.Print("  CreationDate (numeric)  = " & swDoc.CreationDate2)
            Debug.Print("  Keywords                = " & swDoc.Keywords)
            Debug.Print("  LastSavedBy             = " & swDoc.LastSavedBy)
            Debug.Print("  LastSavedDate (string)  = " & swDoc.LastSavedDate)
            Debug.Print("  LastSavedDate (numeric) = " & swDoc.LastSavedDate2)
            Debug.Print("  Subject                 = " & swDoc.Subject)
            Debug.Print("  Title                   = " & swDoc.Title)
            Debug.Print("  LastUpdateStamp         = " & swDoc.GetLastUpdateStamp)
            Debug.Print("  IsDetachedDrawing       = " & swDoc.IsDetachedDrawing)
            Debug.Print("")

            ProcessDocCustomProperties(swDoc)

            vCfgNameArr = swCfgMgr.GetConfigurationNames

            For Each vCfgName In vCfgNameArr
                swCfg = swCfgMgr.GetConfigurationByName(vCfgName)

                Debug.Print("  " & vCfgName)
                Debug.Print("    Description              = " & swCfg.Description)
                Debug.Print("    ParentCfgName            = " & swCfg.GetParentConfigurationName)
                Debug.Print("    LastUpdateStamp          = " & swCfg.GetLastUpdateStamp)
                Debug.Print("")

                ProcessConfigCustomProperties(swCfg)
            Next

        End If

    End Sub

End Module

 

 не удается установить подключение, "вываливается" ошибка.

Скрытый текст

 

Помогите разобраться.

К слову: sw 2016 sp5.0 x64; win 7 x64

К слову слову: через Marshal.GetActiveObject("SldWorks.Application.24") - полет нормальный :dash1:

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, MUXALblCH сказал:

Помогите разобраться

а в чём?

Покупаете годовое обслуживание, заходите на сайт, указываете параметры ключа и вам его присылают по почте.

Далее, вставляете его в

Цитата

Const sLicenseKey As String

---------------------

Компилируя проект из

В 14.04.2018 в 11:30, VIKT0R сказал:

Использую MS Visual Studio 2008 C++

 

Вы никогда не получите ошибку NET.

Отлаживая свой проект Dll вам надо указать запускаемый процесс как путь к sldworks.exe

В 14.04.2018 в 21:06, VIKT0R сказал:

компилятор не видел импортируемые файлы

посмотрите пример с нуля https://forum.solidworks.com/thread/60577

Вот ещё тутор для standalone https://www.codestack.net/2018/03/create-c-stand-alone-application-for_5.html

Изменено пользователем streamdown
1 пользователю понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
26 минут назад, streamdown сказал:

 

Далее, вставляете его в...

 

В том то и дело. Ключ мне выслали. Его я вставляю в строковую константу и... происходит ошибка подключения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
42 минуты назад, MUXALblCH сказал:

Ключ мне выслали

:smile: ох уж эти кодеры))) или пираты...или ещё кто.

Вы вот что скажите, ваш ключ для 2016 SW начинается вот прям на

Цитата

11785...

Или там букавки какие есть перед этим?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дык буквы тоже нужны что-ль? В ключе перед цифровой частью еще есть символьная: "S********:sw******_*******-".

Но с этими символами тоже не подключается. Что то совсем беда...

Изменено пользователем MUXALblCH

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@streamdown , на счет пиратов я понял...

Скрытый текст

shtirlic_83126054_orig_.jpg.031d5e8e00cb66e91e9e08764722c882.jpg

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, MUXALblCH сказал:

Но с этими символами тоже не подключается

а должно. Там в этом ключе сначала буквы, потом вон тот многацифр_в_перемешку_с_кое_где_буквами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
13 часа назад, streamdown сказал:

Отлаживая свой проект Dll вам надо указать запускаемый процесс как путь к sldworks.exe

посмотрите пример с нуля https://forum.solidworks.com/thread/60577

Вот ещё тутор для standalone https://www.codestack.net/2018/03/create-c-stand-alone-application-for_5.html

Спасибо за ссылки - изучаю.

Хотел бы спросить вот еще что: я так понял, что можно использовать MFC. Вопрос такой: а можно ли использовать QT ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
13 минуты назад, VIKT0R сказал:

а можно ли использовать QT

и там и там C++

Разница лишь в том, чтоб правильно найти способ регистрации ActiveX вашей dll. Для exe - ваще без разницы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, streamdown сказал:

Разница лишь в том, чтоб правильно найти способ регистрации ActiveX вашей dll. Для exe - ваще без разницы.

А какая разница между dll и exe? Такая же как в ProE API? В ProE dll работает в синхронном режиме - приложение запускается самим ProE на основе регистрационного файла. А exe работает в асинхронном режиме - приложение запускается пользователем, а затем либо запускает сессию ProE, либо подключается к уже существующей. Между этими режимами есть различия, например dll работает гораздо быстрее, т.к. непосредственно взаимодействует с ProE. Но в dll-режиме QT (или MFC) работает только в режиме модальных диалоговых окон, т.е. "подвешивает" ProE до тех пор, пока окно не закроешь, т.к. запускает свой цикл обработки сообщений. В exe-режиме связь с окном ProE не замораживается, т.е. я могу например нажать кнопку в диалоговом окне MFC, которая предложит мне выбрать геометрию в окне ProE, и окно ProE при этом будет доступно для работы.

В SW API такая же разница между dll и exe?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если взять только смысл из вашего текста то да.

-----

1) Нет такого понятия как "синхронный режим". Есть STA

2) В SW пока идёт работа с COM сервером - он недоступен. В случае с dll из-за In-Process окно "подвешивается", в случае с exe - нет. Ибо окно не в потоке COM сервера.

3) Сам COM сервер вы можете как запустить так и получить запущенный CoCreateInstanse 

1 пользователю понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

16 часов назад, streamdown сказал:

а должно....

Обратился в поддержку, выслали обновленный ключ. И все заработало...

Скрытый текст

images.jpg.0aecc38e9bbabd3c8033dfda904d6e9f.jpg

 

Изменено пользователем MUXALblCH

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Доброго здравия форумчане.

 

Подскажите кто мне, грешному. Есть макрос, благополучно скачанный с просторов инета. Занимается он тем что экспортирует каждый лист многостраничного чертежа отдельным файлом пдф. Работал этот макрос работал - и вдруг - перестал. То есть - он вроде бы отрабатывает, перебирает все листы в чертеже, но - на выходе - ничего, пдф файлы не оздаются. Либо может быть создаются, но сбивается путь... не знаю

SaveEachSheetAsPDF-SHEETNAME.swp

 

И второй вопрос - может кто подскажет человеку, немного далекому от написания макросов, как можно задать формирование пдф имени по параметрам из модели в чертеже. То есть, примерно так:

$RPR:"Number" - $PRP:"Description" - $PRP:"Revision"

Ну либо же по тому же принципу - комбинирование нескольких свойств модели - автоматом задавать название листа чертежа (вкупе с работающим макросом о котором мой первый вопрос, результат был бы тем же)

 

заранее спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, serguss сказал:

Работал этот макрос работал

 

Странно.. Ибо полный путь к файлу пдф не прописывался.. Только имя листа.. Вот

 

https://drive.google.com/file/d/18aAH_UHIh-DiATnUpr4CAmsxaMNElKHZ/view?usp=drivesdk

7 часов назад, serguss сказал:

То есть, примерно так:

$RPR:"Number" - $PRP:"Description" - $PRP:"Revision"

 

Пример из справки

 

http://help.solidworks.com/2016/english/api/sldworksapi/Add_and_Get_Custom_Properties_Example_VB.htm

 

А там из элементов массива составить нужную строку..

Изменено пользователем ILL
1 пользователю понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как получить указатель на тело в детали, выбранное в сборке содержащую эту деталь? Если я получаю persistent ID для этого тела через сборку, то в детали GetObjectByPersistReference3 по этому ID возвращает nothing.

Скрытый текст

2018-04-18_12-52-33.png.05d46036c2df33ee0a86c6187da7770c.png

Задача: сформировать из выбранных тел подсборку и вставить в основную сборку. Сейчас приходится открывать вручную деталь содержащую тела и работать с ней. Хотелось бы выбирать их в сборке, а дальше обрабатывать программно.

Буду рад любым наводкам.

Изменено пользователем MUXALblCH
дополнил

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
36 минут назад, MUXALblCH сказал:

Как получить указатель

http://help.solidworks.com/2015/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.iselectionmgr~getselectedobject6.html

в параметре попробуйте поиграться индексом.

----------

А можно так http://help.solidworks.com/2015/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IEntity~IGetComponent2.html

Изменено пользователем streamdown
1 пользователю понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@streamdown , спасибо. Буду разбираться, пока все туманно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@streamdown, СПАСИБО. В голове прояснилось.  Метод getselectedobject6 подошел. С персистент ID так и не срослось.

Скрытый текст

 

Скрытый текст

 

Скрытый текст

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте . Столкнулся вот с чем. На днях поставил солид 2018   и только сейчас обнаружил отсутствие примеров \samples\tutorial\api\. Папка пуста. Может я где какую галку не поставил при установке?

И еще такой момент, пока не соображу что у меня не так. Описываю ситуацию. В сборке ставлю справочную плоскость.  Далее  ставлю деталь и привязываю с помощью 3 сопряжений "совпадение", 2 из которых к общей сборке, а 3 сопряжение к справочной плоскости.  При использовании двух первых сопряжений деталь позиционируется правильно. А 3 сопряжение меняет в 50 процентах случаев (когда сборка симметричная) положение справочной плоскости.  Параметр "1" или "0" в коде:  Set matefeature = swAssy.AddMate5(swMateCOINCIDENT, 1, False, 0, 0, 0, 0, 0, 0, 0, 0, False, False, 0, fileerror) исправляет ситуацию, но приводит к проблемам в других 50% случаях. Если выполнять код пошагово и просто применить 3 сопряжение совпадение без кода, то все позиционируется правильно.  Во первых я не ожидал что плоскости в сборке могут быть отзеркалены при использовании сопряжений с "потомками" сборки . Как бы плоскости должны стоять монументально, если не трогать "предков" , а тут на тебе , получите распишитесь.

форум1.jpgфорум2.jpgфорум3.jpg

Изменено пользователем Sla_68

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всё, разобрался.. Вся проблема заключалась в нормалях. Как я выше писал , параметр AlignfromEnum нужно было сделать плавающим в зависимости от положения нормалей плоскостей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите пожалуйста, каким способом можно создать справочную плоскость "среднюю", на базе 2 параллельных плоскостей. И второй вопрос доступны ли в api дополнительные сопоряжения? В частности "ширина"

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще вопрос по табличке BOM, как можно вернуть ссылку на деталь по выделенной ячейке? Хочу создать макрос , который будет вставлять деталь на лист чертежа, указав на поле таблицы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можете подсказать пожалуйста!! У меня вопрос, как написать простой макрос который добавлял в свойствах файла определенный значение. Например.....наименование и обозначение   и по ним бы прописывал то что я хочу.....шифр и имя детали например. Мне интересно сам принцип написание этого макроса. Я  в справке АПИ не мог найти. Буду очень благодарен если кто нибудь подскажет как написать!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 28.04.2018 в 17:42, Санёёк сказал:

У меня вопрос, как написать простой макрос который добавлял в свойствах файла определенный значение. Например.....наименование и обозначение   и по ним бы прописывал то что я хочу.....шифр и имя детали например.

Разбирайтесь, Change_property_V2.0http://kelnyproject.ucoz.ru/load/6-1-0-8

Изменено пользователем Kelny

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем привет. Не смог разобраться до конца с методом GetProjectedPointOn применительно к сборке. В деталях точку данный метод проецирует, в сборке не получается. У меня вопрос : у функции 2 аргумента вектор-направления и точка. Если я работаю в сборке, нужно ли мне делать трансформацию координат этих аргументов в пространство компонента детали на которую я пытаюсь спроецировать точку?.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Разобрался, причина была в том что не была объявлена переменная Dim mathUtils As SldWorks.MathUtility.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ID: 1873   Опубликовано: (изменено)

В 28.04.2018 в 17:42, Санёёк сказал:

Можете подсказать пожалуйста!! У меня вопрос, как написать простой макрос который добавлял в свойствах файла определенный значение. Например.....наименование и обозначение   и по ним бы прописывал то что я хочу.....шифр и имя детали например. Мне интересно сам принцип написание этого макроса. Я  в справке АПИ не мог найти. Буду очень благодарен если кто нибудь подскажет как написать!!!

На мой взгляд удобнее использовать Excel таблицу параметров, но это дело вкуса. Можно и как во вложенном примере

+Масса+Материал.swp

Несколько сложнее (иначе) дела обстоят со свойствами рисунков профилей, особенно если исходный рисунок задает параметрически размеры нескольких конфигураций. Тут как вариант можно использовать блок "уравнения".

Изменено пользователем v-david

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите пожалуйста, как на виде развертки в чертеже добавить габаритные размеры и размеры до линий сгиба?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@alek77 , а причем тут Solidworks API??

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, ILL сказал:

@alek77 , а причем тут Solidworks API??

Я перефразирую тогда: 

Подскажите пожалуйста, как на виде развертки в чертеже добавить габаритные размеры и размеры до линий сгиба с помощью API? 

Я даже не подумал, что если спрашиваю в этой ветке, то мой вопрос будет непонятен, сорри  

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем привет

Можно ли подружить солид с visual studio 2017 так, чтобы редактирование макроса открывалось в VS2017?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ID: 1878   Опубликовано: (изменено)

 

8 часов назад, alek77 сказал:

Можно ли

нет.

 

В 05.05.2018 в 21:47, alek77 сказал:

как на виде развертки в чертеже добавить

1) Выбрать исходную точку, выбрать грань, вставить модельные размеры.

2) Хитрым способом выбрать кромку, найти все эскизы, проставить размеры до них.

Изменено пользователем streamdown

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте! По много раз за день приходится пользоваться командой "Копировать проект" со стандартным фиксированным для нас набором параметров. Можно ли как-то с помощью макроса это сделать? Как выйти на этот модуль? Запись макроса, естественно, не помогла. ))

Всем заранее спасибо! )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 пользователю понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу