Доработка верстака TechDraw под ГОСТ 2.x и ISO

Если Вы хотите включиться в процесс разработки FreeCAD, имея знания по C++ или Python, в сообществе разработчиков FreeCAD Вам будут рады!
Если у Вас нет опыта работы с Git, рекомендую почитать Работа с Git на примере FreeCAD. Затем можно ознакомиться с правилами участия в разработке: Developer hub ➝ Modifying FreeCAD.

В верстаке TechDraw (для создания технических чертежей из 3D-моделей) во FreeCAD 0.19 появятся новые, давно ожидаемые, возможности:

  • выносные и размерные линии будут соответствовать ISO 129-1 (ГОСТ 2.307-2011);
  • появится инструмент обозначения швов сварных соединений;
  • появятся новые инструменты для создания кастомных выносок (линий), аннотаций, баллунов и т. п;
  • описание новшеств во FreeCAD 0.19: https://freecadweb.org/wiki/Release_notes_0.19.

Панель инструментов верстака TechDraw во FreeCAD 0.18

Панель инструментов верстака TechDraw во FreeCAD 0.19. Инструментов стало намного больше!

Новые функции FreeCAD 0.19 для создания чертежей (отмечены красным плюсом):

Пример выносных, размерных линий, разрез, обозначение сварки. Использован разработанный сообществом шаблон рамок по ГОСТ. Использован шрифт Arial.

Чертеж во FreeCAD 0.19

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

(Важно! Я тестировал сборку FreeCAD 19093 от 2019/12/27 под Windows 10. Версия находится в активной разработке, поэтому ситуация может меняться.)

Как и в версии 0.18 самым непокладистым оказалось обозначение разреза на чертеже. Во-первых, пока нет в TechDraw такого вида линий как "разомкнутая", конечно можно было вообще не отображать её, но тогда остаются буквы, (которые кстати, не мешало бы ниже располагать), а вместо стрелок, указывающих направление взгляда какие-то треугольники.. в общем, можно вообще в параметрах вида ("вида с верху" в данном случае) отключить отображение разреза и каким-либо образом добавлять в чертеж разомкнутую линию со стрелками и буквами. Но, нужно отметить, что, по сравнению с версией 0.18, где стрелки не упирались в линию, а смотрели "от линии" по стандарту ANSI, уже легче от этого. Настроек стало больше.

Сыровато пока ещё с обозначениями сварных соединений: мало символов, расположение текста над полкой на рисунке ниже никак не возможно поменять, вводя даже координаты в соответствующие поля, даже пытался через инструмент "Перемещение" в верстаке Draft пододвинуть текст - нет, не цепляет:
Обозначение сварных соединений во FreeCAD 0.19
В общем, вместо этого вставил ГОСТ сварки и символ катета из Unicode в объект "Форматированный текстовый блок".
Порадовало, что символ "сварка по замкнутому контуру" работает без проблем. Обозначение монтажного шва (черный треугольный флажок) тоже встало четко ан изломе линии, но флажок смотрит влево, а не вправо, не знаю, насколько это нормально, но думаю всё решаемо донесением до разработчика этой небольшой проблемы

При попытке задать размер угла внутри, не получается расположить размерное число посередине дуги (на чертеже выше угол 45° — это максимально возможное к центру дуги положение размерного числа), скачет то под дугу, то ещё куда.

Но в целом, конечно, верстак TechDraw в версии 0.19 стал в несколько раз лучше, правильнее сказать — качественно лучше, перейдя в другой класс. Не совершенен, конечно, но можно работать!

В общем, если Вы хотите улучшить FreeCAD — либо присоединяйтесь к разработке, либо корректно сообщайте разработчикам о баге!
Как и куда сообщать об ошибках во FreeCAD и сам баг-трекер FreeCAD

По поводу обозначения сварки во FreeCAD

Сейчас в России действуют 2 ГОСТа на обозначение "сварки": ГОСТ 2.312-72 — сварка обозначается полустрелкой (у стрелки одно крыло), и ГОСТ Р ИСО 2553-2017 — сварка обозначается стрелкой, но ГОСТ Р ИСО 2553-2017 вводит много знаков для обозначения типов швов сварных соединений, их обработки и т. п.
На данный момент Верстак TechDraw предлагает достаточно ограниченный набор символов для вставки обозначения сварного соединения:

Но это не большая проблема: эти символы являются всего-лишь SVG-файлами, эта библиотека располагается в каталоге
"FreeCAD-root-folder/data/Mod/TechDraw/Symbols/Welding/AWS/".
Таким образом, предлагаю желающим побыстрее развить верстак TechDraw, по мере возможности заняться отрисовкой SVG-символов сварки и иных востребованных символов ЕСКД. Символы сварки, соответственно будут добавлены в вышеуказанный каталог.

Есть ещё способ добавления симоволов на чертежи, в частности обозначений сварки — найти-установить специальный шрифт, пример свободного шрифта с обозначениями сварных соединений: WeldSymbols Font.

Иные ЕСКД-символы на чертежах во FreeCAD

Для иных символов имеет смысл сначала выяснить планы разработчиков TechDraw относительно того, в каком формате они советуют их создавать,см. Как участвовать в разработке FreeCAD.

Но в любом случае так как в TechDraw есть несколько возможностей вставки SVG-символов и иных графических объектов:

И учитывая, что в интернете на настоящее время, я, например, найти библиотек SVG-ЕСКД знаков (или символов, уж не знаю, как лучше обзывать эту сущность :) не смог, зато постоянно натыкался на вопросы где брать символы?.. Получается создание библиотеки таких SVG-символов-ЕСКД имеет БОЛЬШОЙ смысл. Эта библиотека всегда будет востребована!
Собственно, Ваш покорный слуга :) уже начал этот труд — потихоньку отрисовываю символы для обозначения сварки, см. таблицы по ссылке  ниже. Процесс не быстр, буду дополнять эту библиотеку SVG-символов постепенно...

SVG-символы для свободного использования в чертежах

Других востребованных символов ещё много: ГОСТы 2.x по обозначениям от крепёжных изделий до схемотехники, СПДС ГОСТы 21.x, см. для примера Список ГОСТов, составляющих ЕСКД.

В качестве временного решения для вставки ЕСКД-ISO-символов, отсутсвующих на данный момент в верстаке TechDraw, можно порекомендовать как самый простой вариант — копипаст Unicode-символов в текстовые поля.

Сокращенная таблица специальных символов Unicode для чертежей

Reduced Unicode technical drawing characters table

Так как таблица достаточно большая, на этой странице представлена только её часть. В конце таблицы есть ссылка на полную таблицу технических символов Unicode с возможностью выбора и вставки интересующего символа в постоянно видимое текстовое поле для удобства!


8240
0x2030

8241
0x2031

8242
0x2032

8243
0x2033

8244
0x2034

8245
0x2035

8246
0x2036

8247
0x2037

8248
0x2038

8249
0x2039

8250
0x203a

8251
0x203b

8272
0x2050

8276
0x2054

8254
0x203e

8255
0x203f

8256
0x2040

8257
0x2041

8260
0x2044

8259
0x2043

8400
0x20d0

8401
0x20d1

8402
0x20d2

8403
0x20d3

8404
0x20d4

8405
0x20d5

8406
0x20d6

8407
0x20d7

8408
0x20d8

8409
0x20d9

8410
0x20da

8411
0x20db

8412
0x20dc

8413
0x20dd

8414
0x20de

8415
0x20df

8416
0x20e0

8417
0x20e1

8418
0x20e2

8419
0x20e3

8420
0x20e4

8421
0x20e5

8422
0x20e6

8423
0x20e7

8424
0x20e8

8425
0x20e9

8426
0x20ea

8427
0x20eb

8428
0x20ec

8429
0x20ed

8592
0x2190

8593
0x2191

8594
0x2192

8595
0x2193

8596
0x2194

8597
0x2195

8598
0x2196

8599
0x2197

8600
0x2198

8601
0x2199

8622
0x21ae

8623
0x21af

8624
0x21b0

8625
0x21b1

8626
0x21b2

8627
0x21b3

8628
0x21b4

8629
0x21b5

8630
0x21b6

8631
0x21b7

8632
0x21b8

8633
0x21b9

8634
0x21ba

8635
0x21bb

8636
0x21bc

8637
0x21bd

8638
0x21be

8639
0x21bf

8640
0x21c0

8641
0x21c1

8642
0x21c2

8643
0x21c3

8644
0x21c4

8645
0x21c5

8646
0x21c6

8647
0x21c7

8648
0x21c8

8649
0x21c9

8650
0x21ca

8651
0x21cb

8652
0x21cc

8719
0x220f

8720
0x2210

8721
0x2211

8722
0x2212

8723
0x2213

8724
0x2214

8725
0x2215

8726
0x2216

8727
0x2217

8728
0x2218

8729
0x2219

8730
0x221a

8731
0x221b

8732
0x221c

8733
0x221d

8734
0x221e

8735
0x221f

8736
0x2220

8737
0x2221

8738
0x2222

8739
0x2223

8740
0x2224

8741
0x2225

8742
0x2226

8743
0x2227

8744
0x2228

8745
0x2229

8746
0x222a

8834
0x2282

8835
0x2283

8836
0x2284

8837
0x2285

8838
0x2286

8839
0x2287

8840
0x2288

8841
0x2289

8842
0x228a

8843
0x228b

8844
0x228c

8845
0x228d

8846
0x228e

8847
0x228f

8848
0x2290

8849
0x2291

8850
0x2292

8851
0x2293

8852
0x2294

8853
0x2295

8854
0x2296

8955
0x22fb

8956
0x22fc

8957
0x22fd

8958
0x22fe

8959
0x22ff

8960
0x2300

8961
0x2301

8962
0x2302

8963
0x2303

8964
0x2304

8965
0x2305

8966
0x2306

8967
0x2307

8968
0x2308

8969
0x2309

8970
0x230a

8971
0x230b

8978
0x2312

8979
0x2313

8980
0x2314

8981
0x2315

8982
0x2316

8983
0x2317

8984
0x2318

8985
0x2319

8988
0x231c

8989
0x231d

8990
0x231e

8991
0x231f

8992
0x2320

8993
0x2321

8994
0x2322

8995
0x2323

8996
0x2324

8997
0x2325

8998
0x2326

8999
0x2327

9000
0x2328

9001
0x2329

9002
0x232a

9003
0x232b

9004
0x232c

9005
0x232d

9006
0x232e

9007
0x232f

9008
0x2330

9009
0x2331

9010
0x2332

9011
0x2333

9012
0x2334

9013
0x2335

9014
0x2336

9015
0x2337

9016
0x2338

9017
0x2339

9018
0x233a

9019
0x233b

9020
0x233c

9021
0x233d

9022
0x233e

9023
0x233f

9024
0x2340

9025
0x2341

9026
0x2342

9027
0x2343

9028
0x2344

9029
0x2345

9030
0x2346

9031
0x2347

9032
0x2348

9033
0x2349

9034
0x234a

9035
0x234b

9036
0x234c

9037
0x234d

9038
0x234e

9039
0x234f

9040
0x2350

9041
0x2351

9042
0x2352

9043
0x2353

9044
0x2354

9045
0x2355

9046
0x2356

9047
0x2357

9048
0x2358

9049
0x2359

9050
0x235a

9051
0x235b

9052
0x235c

9053
0x235d

9054
0x235e

9055
0x235f

9056
0x2360

9057
0x2361

9058
0x2362

9059
0x2363

9060
0x2364

9061
0x2365

9062
0x2366

9063
0x2367

9064
0x2368

9065
0x2369

9066
0x236a

9067
0x236b

9068
0x236c

9069
0x236d

9070
0x236e

9071
0x236f

9072
0x2370

9073
0x2371

9074
0x2372

9075
0x2373

9076
0x2374

9077
0x2375

9078
0x2376

9079
0x2377

9080
0x2378

9081
0x2379

9082
0x237a

9143
0x23b7

9144
0x23b8

9145
0x23b9

9146
0x23ba

9147
0x23bb

9148
0x23bc

9149
0x23bd

9150
0x23be

9151
0x23bf

9152
0x23c0

9153
0x23c1

9154
0x23c2

9155
0x23c3

9156
0x23c4

9157
0x23c5

9158
0x23c6

9159
0x23c7

9160
0x23c8

9161
0x23c9

9162
0x23ca

9163
0x23cb

9164
0x23cc

9165
0x23cd

9166
0x23ce

9167
0x23cf

9168
0x23d0

9169
0x23d1

9170
0x23d2

9171
0x23d3

9172
0x23d4

9173
0x23d5

9174
0x23d6

9175
0x23d7

9176
0x23d8

9177
0x23d9

9178
0x23da

9179
0x23db

9180
0x23dc

9181
0x23dd

9182
0x23de

9650
0x25b2

9651
0x25b3

9652
0x25b4

9653
0x25b5

9654
0x25b6

9655
0x25b7

9656
0x25b8

9657
0x25b9

9658
0x25ba

9659
0x25bb

9660
0x25bc

9661
0x25bd

9662
0x25be

9663
0x25bf

9664
0x25c0

9665
0x25c1

9666
0x25c2

9667
0x25c3

9668
0x25c4

9669
0x25c5

9670
0x25c6

9671
0x25c7

9672
0x25c8

9673
0x25c9

9674
0x25ca

9675
0x25cb

9676
0x25cc

9677
0x25cd

9678
0x25ce

9679
0x25cf

9680
0x25d0

9681
0x25d1

9682
0x25d2

9683
0x25d3

9684
0x25d4

9685
0x25d5

9686
0x25d6

9687
0x25d7

9688
0x25d8

9689
0x25d9

9690
0x25da

9691
0x25db

9692
0x25dc

9693
0x25dd

9694
0x25de

9695
0x25df

9696
0x25e0

9697
0x25e1

9698
0x25e2

9699
0x25e3

9700
0x25e4

9701
0x25e5

9702
0x25e6

9703
0x25e7

9704
0x25e8

9705
0x25e9

9706
0x25ea

9707
0x25eb

9708
0x25ec

9709
0x25ed

9710
0x25ee

9711
0x25ef

9712
0x25f0

9713
0x25f1

9714
0x25f2

9715
0x25f3

9716
0x25f4

9717
0x25f5

9718
0x25f6

9719
0x25f7

9720
0x25f8

9721
0x25f9

9722
0x25fa

9723
0x25fb

9724
0x25fc

9725
0x25fd

9726
0x25fe

9727
0x25ff

10826
0x2a4a

10827
0x2a4b
Полная таблица специальных символов Unicode для чертежей
(Complete Unicode technical drawing characters table)