Jump to content

Проблема с макрасом для создания чертежа из модели


Recommended Posts

iita_spb

Здравствуйте.
Пытались сделать макрос, чтобы нажать кнопку на панели и создавался чертёж с видом спереди(для этого просто использовали заранее сделанный шаблон, который лежит в папке templates) и проставлялись размеры(это сделали просто за счёт авто-нанесение размером).
Проблема в том, что макрос не вытаскивает вид на чертёж.
Может кто-то мог бы подсказать в чём проблема?
 

 

Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc

' New Document
Dim swSheetWidth As Double
swSheetWidth = 0.21
Dim swSheetHeight As Double
swSheetHeight = 0.297
Set Part = swApp.NewDocument("C:\ProgramData\SolidWorks\SOLIDWORKS 2017\templates\тест.drwdot", 12, swSheetWidth, swSheetHeight)
Dim swDrawing As DrawingDoc
Set swDrawing = Part
Set swDrawing = Part
Dim swSheet As sheet
Set swSheet = swDrawing.GetCurrentSheet()
swSheet.SetProperties2 12, 12, 1, 1, False, swSheetWidth, swSheetHeight, True
swSheet.SetTemplateName "C:\Users\Компьютер\Desktop\osco\SOLID\ПДМ ШАБЛОН\Шаблоны\Форматки\А4.slddrt"
swSheet.ReloadTemplate True
boolstatus = Part.GenerateViewPaletteViews("C:\Users\User\Desktop\Проверить наличие\футеровка для макроса.SLDPRT")
Dim myModelView As Object
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByRay(-0.01, 0.03, 0.003, 0, 0, -1, 1.19074682080925E-03, 1, True, 2, 0)
boolstatus = Part.Extension.SelectByRay(-9.99999999999999E-03, -0.03, 0.003, 0, 0, -1, 1.19074682080925E-03, 1, True, 4, 0)
longstatus = Part.AutoDimension(1, 1, -1, 1, 1)
Part.ClearSelection2 True
End Sub
 

Link to post
Share on other sites


UnPinned posts
Kelny
3 часа назад, iita_spb сказал:

Пытались сделать макрос, чтобы нажать кнопку на панели и создавался чертёж с видом спереди(для этого просто использовали заранее сделанный шаблон, который лежит в папке templates)

Помнится для этого макрос не нужен, а можно использовать стандартные инструменты ПРЕДВАРИТЕЛЬНО ОПРЕДЕЛЁННЫЕ ВИДЫ, а так же ПЛАНИРОВЩИК ЗАДАЧ:

https://help.solidworks.com/2010/russian/solidworks/swtaskscheduler/legacyhelp/sw_task_scheduler/topics/hidd_task_drw_creation.htm

 

https://help.solidworks.com/2010/russian/solidworks/sldworks/legacyhelp/sldworks/drawings/predefined_views.htm

 

https://help.solidworks.com/2010/russian/solidworks/swtaskscheduler/legacyhelp/sw_task_scheduler/topics/solidworks_task_scheduler_overview.htm

 

3 часа назад, iita_spb сказал:

Может кто-то мог бы подсказать в чём проблема?

Вероятно макрос просто записан, а записывается в макрос не всё, что бы разобраться обратитесь к справке, например:

https://help.solidworks.com/2010/english/api/sldworksapi/Insert_Model_Annotations_Example_VB.htm

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.




  • Сообщения

    • Ветерок
      Он не вспомогательный. Это просто вид модели (основной). Не связанный ни с каким другим видом. Пусть даже это будет первый вставленный вид. Ориентация вида задана в модели. Я просто вставляю вид с заданной ориентацией. И хочу чтобы рядом с другим видем была стрелка с буквой. Пусть это будет нарисованная стрелка с буквой, но как получить изображение этой стрелки? Кроме рисование стрелки линиями.
    • Krusnik
      Есть "Вид модели" - это как раньше говорили основной вид. От него как правило ставятся все остальные виды. У него буквы нет. "Проекционный вид" - вид, который находится с другим видом в проекционной связи: снизу, сверху, слева, справа. Стрелка с буквой не ставится "3 стандартных вида" - это вид модели + вид сверху + вид слева на одной кнопке. Стрелки с буквами не ставятся. "Вспомогательный вид" - это как раз вид по стрелке. Стрелка и буква ставятся автоматически.   Но если у вас на листе мало места и вид слева нужно перенести на другой лист - то перенести не проблема, но стрелки то нет. Вот для таких ситуаций и придумана галочка "Стрелка" ("Arrow"). Ставите её, и у основного вида появляется стрелка, а над проекционным буква.   В остальных случаях удобнее пользоваться "Вспомогательным видом".  
    • BSV1
    • Savok
      Нельзя создать вспомогательный вид, если нет прямой кромки. Проекционный вид прекрасно создается
    • Fedor
      А виртуальные машины тоже будут облагаться и ПО на них считаться ?  Компиляторы и прочее фундаментальное ПО западное, так что и все производное будет таким :)   Лет 30-40 приучали к мировому ПО , а теперь за несколько лет все решили поменять ?  Далековато от реальности :)    Кто мзду то будет собирать ?  Менты c прокурорами как когда-то за винды директоров школ прихватывали ?  :)
    • Ветерок
      Так ведь ориентация нужного вида "кривая", никакой проекцией не получится. А для проекций и стрелки не нужны.
    • Savok
      На вставленном виде стрелок нет. Делаем проекцию с этого вида, на спроецированном виде уже есть возможность отобразить стрелку, ее можно подвигать, изначально она становится с противоположной стороны
    • BSV1
      Про процент не сказали, но распределять предполагают так:  
    • Ветерок
      Ага, заработало.   Про стрелки не понял. Если я вставил общий вид с ориентацией, сохраненной в модели, то у него нету стрелок.
    • Fedor
      А мздоимцам какой процент будет ?  :)  Интересно, сами то в такое верят ?  Что за вычислительная платформа ?   Вроде Mathematica что ли ?   https://ru.wikipedia.org/wiki/Mathematica      :)
×
×
  • Create New...