Loại bỏ các biến đổi trong các tệp SVG


155

Tôi đã vật lộn với điều này trong một thời gian và dường như không thể tìm thấy câu trả lời (có hiệu quả) ở bất cứ đâu. Tôi có một tệp SVG trông như thế này:

<svg

   xmlns:dc="http://purl.org/dc/elements/1.1/"
   ...
   width="72.9375"
   height="58.21875"
   ...>
   ...
   <g
     ...
     transform="translate(10.75,-308.96875)"
     style="...">
     <path
       inkscape:connector-curvature="0"
       d="m -10.254587,345.43597 c 0,-1.41732 0.17692,-2.85384 0.5312502,-3.5625 0.70866,-1.41733 2.14518,-2.82259 3.5625,-3.53125 1.41733,-0.70866 2.11392,-0.70867 3.53125,0 1.41732,0.70866 ... z"
       ... />
  </g>
</svg>

Tôi muốn xóa transform="..."dòng nhưng vẫn giữ hình ảnh của mình ở nơi tôi đã đặt nó (trong InkScape). Nếu tôi xóa thủ công biến đổi, hình ảnh sẽ chuyển sang một phần khác của màn hình (như mong đợi), nhưng tôi cần phải loại bỏ hoàn toàn biến đổi và đồng thời, để hình ảnh ở chính xác nơi tôi muốn. Có cách nào để loại bỏ / làm phẳng các biến đổi thành tọa độ đường dẫn không? (Các biến đổi duy nhất tôi phải xử lý là dịch và tỷ lệ, không có ma trận.)


1
Điều này tương tự như stackoverflow.com/questions/10126498/
Ấn

Câu trả lời:


149

Cách xóa biến đổi trong Inkscape

  1. Mở tệp svg trong Inkscape
  2. Chuyển đến Chỉnh sửa -> Trình chỉnh sửa XML
  3. Tìm thuộc tính "biến đổi" trong các lớp và xóa chúng

Cách di chuyển tất cả các đối tượng hoàn toàn mà không tạo các thuộc tính biến đổi khác

  1. Chuyển đến Chỉnh sửa -> Chọn Tất cả trong Tất cả các Lớp
  2. Chuyển đến Object -> Transform

    Trong bảng điều khiển Transform

  3. Bỏ chọn Di chuyển tương đối và kiểm tra Áp dụng riêng cho từng đối tượng

  4. Đặt giá trị NgangDọc theo nhu cầu của bạn và nhấp vào Áp dụng

16
Đã làm cho tôi. Các đối tượng cần được tách nhóm trước khi chúng được chuyển đổi để tọa độ thực của các đường dẫn được cập nhật.
Rupert Angermeier

8
Hừm, sau khi đặt nó thành 0 và nhấp vào áp dụng biến đổi sẽ hiển thị lại trong trình soạn thảo XML.
thoát mèo

7
Ủng hộ các đối tượng là cần thiết để làm việc này cho tôi, cảm ơn!
Hai Zhang

1
Không làm việc cho tôi. Nó sẽ làm phẳng và di chuyển thuộc tính biến đổi thành các lá (thực ra mọi thứ sẽ trở thành một chiếc lá sau khi hủy ghép nối), nhưng nó sẽ không XÓA thuộc tính biến đổi và ÁP DỤNG NÓ ĐỂ ĐIỂM GEOMETRY, mà tôi không quay lại hình vuông.
Szczepan Hołyszewski

2
QUAN TRỌNG: Giống như một nhận xét ở trên đã giải thích, bạn cần hủy nhóm các đối tượng để điều này hoạt động chính xác, nếu không, thuộc tính biến đổi sẽ được đặt lại tự động
Shadow

52

Tôi đã tìm ra vấn đề là gì. Tôi đã hy vọng không phải dùng đến câu trả lời của Robert, mặc dù tôi rất vui vì đã xác nhận rằng nó sẽ hoạt động! Cuối cùng, câu trả lời của Duopixel thực sự là gần nhất, mặc dù hóa ra điều gì đó khác cũng đang diễn ra.

Khi bạn làm việc với các đường dẫn khác nhau trong tài liệu Inkscape, tôi tin rằng hành vi mặc định của nó là nhóm chúng lại với nhau dưới một <svg:g.../>thẻ. Khi sửa đổi đường dẫn trong một nhóm, Inkscape sẽ tự động thêm một biến đổi vào nhóm để thể hiện những thay đổi này. Tuy nhiên, nếu bạn mở trình soạn thảo XML và kéo đường dẫn của bạn ra ngoài <svg:g.../>thẻ và biến nó thành <svg:path.../>thẻ riêng , Inkscape có thể tự do chỉnh sửa các điểm riêng lẻ theo ý muốn. Cuối cùng, nó đã trở thành một vấn đề nhóm mặc dù tôi chỉ làm việc với một con đường! Hy vọng điều này sẽ giúp những người khác trong tình huống tương tự.


7
Tuyệt vời! Cảm ơn bạn! Đó chính xác là những gì nó đã làm. Tôi vừa xóa thẻ nhóm để lại nội dung bên trong, lưu nó và mở lại trong inkscape. Tất nhiên hình ảnh nằm ngoài hộp xem (hoặc bất cứ thứ gì nó được gọi), nhưng sau đó tôi chỉ cần đặt x, y và nó đã được sửa. Thật là một nỗi đau. Cảm ơn vì đã chia sẻ!
johnt doanh nhân

1
Trong trường hợp của tôi, tôi đã kết hợp các cách tiếp cận từ câu trả lời này với một câu trả lời khác từ câu trả lời đó .
quasiyoke

Điều này nên được nâng cấp và đưa lên đầu. Điều này giải quyết vấn đề một cách thanh lịch và làm việc cho tôi. Và ngay cả khi đồ họa bị đặt sai vị trí bên ngoài khung vẽ, bạn luôn có thể thay đổi kích thước của nó (Chỉnh sửa> Thay đổi kích thước trang thành vùng chọn)
mandarin

48

nhập mô tả hình ảnh ở đây

  1. Tải SVG của bạn trong Phương thức Vẽ http://editor.method.ac (Tệp> Mở hình ảnh)
  2. Bỏ nhóm các phần tử của bạn (Object> Unggroup yếu tố) bạn có thể phải làm điều này nhiều lần.
  3. Chọn đường dẫn của bạn
  4. Định hướng lại đường dẫn (Object> Reorient Paths).
  5. Lưu hình ảnh của bạn (Tệp> Lưu hình ảnh) Nếu nó xuất hiện trong một cửa sổ mới, bạn có thể nhấp chuột phải và "Lưu hình ảnh dưới dạng ..."

1
Không có đối tượng> Đường dẫn định hướng. Phiên bản nào bạn đang đề cập đến?
0__

1
@ 0__ Nếu mục menu này bị tắt, điều đó có nghĩa là đường dẫn của bạn vẫn nằm trong một nhóm. Ungroup lại.
phương pháp của

37

Có phần mở rộng inkscape được gọi là Áp dụng biến đổi tính toán lại các đường dẫn với các biến đổi của chúng. Đây chính xác là những gì tôi đang tìm kiếm.

Sau khi cài đặt, bạn sẽ tìm thấy menu bên dưới Tiện ích mở rộng> Sửa đổi đường dẫn> Áp dụng chuyển đổi .


tín dụng: Diễn đàn Inkscape> Xóa tất cả các biến đổi trong khi giữ tại chỗ


Tiện ích mở rộng này đã được cập nhật và bây giờ nó cũng hoạt động cho các kiến ​​trúc sư, ít nhất là trong thử nghiệm của tôi.
sil

Chắc chắn rồi. Sức mạnh mà plugin nhỏ này mang lại cho bạn là không thể đo lường được!
Brett

23

Đối với các nhóm tập hợp lại có thể thực hiện công việc một cách nhanh chóng. Chọn nhóm và nhấn Ctrl + Shift + G (khử nhóm) và sau đó Ctrl + G (nhóm).

Ví dụ, đối với một số đối tượng có vấn đề tương tự, xoắn ốc và sao, cách nhanh chóng là nhấn Ctrl + Alt + C (đột quỵ thành đường dẫn) - tuy nhiên điều này chuyển đổi đối tượng thành một đường dẫn thuần túy và loại bỏ tất cả các thuộc tính phụ, chẳng hạn như sodipodi: cx, sodipodi: các cuộc cách mạng và như vậy.


23

Mở Svg của bạn trên Inkscape :

  • Chọn nhóm có chứa tất cả các biến đổi mà bạn muốn loại bỏ
  • Nhấn CTRL+ U(hủy nhóm)
  • Nhấn CTRL+ G(nhóm lại)

Bằng cách này, bạn sẽ thoát khỏi các biến đổi được áp dụng cho nhóm và chúng sẽ được chuyển đến các đường dẫn có trong nhóm này.


1
Hoàn hảo! Điều này hoạt động trong Inkscape 1.0
Wizard of Ogz

14

Theo kinh nghiệm của tôi, nếu bạn đang sử dụng Inkscape, nó đủ để di chuyển phần tử đường dẫn một chút (ví dụ: bằng các phím con trỏ) và Inkscape sẽ xóa thuộc tính biến đổi và điều chỉnh dữ liệu đường dẫn phù hợp. (Khó chịu nếu bạn thực sự muốn giữ thuộc tính biến đổi.)

Vì vậy, bạn có thể chỉ cần chọn đường dẫn (đảm bảo đó là đường dẫn chứ không phải nhóm xung quanh), nhấn phím phải và phím trái, và bạn đã hoàn thành.


1
Điều này dường như không hoạt động cho một phần tử <g>. Tôi đang cố gắng để thoát khỏi thuộc tính biến đổi.
Mùa xuân tối đa

5
Có thể thử mở đầu tiên và tập hợp lại sau đó.
Thomas W

1
Wow, làm việc như một lá bùa! Đây phải là câu trả lời được chấp nhận. Không có công cụ bổ sung cần thiết, không có các bước phức tạp. Các câu trả lời khác không hoạt động nếu đường dẫn được lồng trong một biến đổi <g>và tôi muốn giữ biến đổi trên <g>.
tomekwi 14/03/2015

Không hoạt động cho một đường dẫn được tạo bởi công cụ vòng tròn
sdaau

1
Câu trả lời tốt nhất. Có thể một nguồn gây nhầm lẫn là tùy chọn Preferences> Transforms> Store Tranformations mà tôi không thấy được đề cập ở nơi nào khác ở đây. Nó nên được đặt thành "tối ưu hóa". Sau đó, chỉ cần hủy nhóm, di chuyển, nhóm lại và biến đổi dud được loại bỏ.
Mr5o1

13

Trong khi tôi thích Inkscape, Trình thiết kế mối quan hệ (~ $ 40 / Mac) đã tiết kiệm cho tôi hàng giờ nỗ lực khi làm việc với Android Vector Drawables.

Mở một SVG, Tệp -> Xuất -> SVG -> Khác -> Biến đổi flatten hoạt động rất tốt.

Nhà thiết kế quan hệ


12

SVGO là một công cụ dòng lệnh mã nguồn mở tuyệt vời cho việc này và một loạt các tối ưu hóa khác. Có một giao diện người dùng web trực tuyến tuyệt vời không kém cho nó được gọi là SVGOMG

Các tùy chọn có liên quan trong trường hợp này là moveGroupAttrsToElems(SVGOMG: Move group attrs to elements) để di chuyển transformthuộc tính từ các nhóm đến các yếu tố con đường, cộng với convertPathData(SVGOMG: Round/rewrite paths) để san bằng transformthành d.


1
SVGO là không thể tin được. Đây thực sự phải là câu trả lời được chấp nhận, đặc biệt là vì stackoverflow dành cho quan điểm của lập trình viên và đây là giải pháp tốt nhất cho lập trình viên phát triển trang web có chứa SVG. Đưa điều này vào đường ống triển khai của bạn tốt hơn nhiều so với việc phải dạy các nghệ sĩ của bạn loại bỏ các biến đổi bằng tay (hoặc phải tự thực hiện) và nhận báo cáo lỗi mỗi khi họ quên
UTF_or_Death 14/07/18

3
Ngoại trừ việc này không hoạt động nữa. Tôi nhớ nó hoạt động tốt hơn một lần, nhưng hãy xem vấn đề này về tính năng chính xác này github.com/svg/svgo/issues/624 cho SVGO
thêm vào

9

Cần đề cập rằng có chế độ "Tối ưu hóa" trong tùy chọn:

Tùy chọn Inkscape> Biến đổi> Chuyển đổi cửa hàng> Tối ưu hóa

Điều này được cho là để giảm thiểu sự xuất hiện của các transformthuộc tính càng nhiều càng tốt, (nhưng không).

Điều này dường như được bật theo mặc định.

Theo một cuộc thảo luận , một trường hợp trong đó chế độ Tối ưu hóa này thiếu nhiệt tình là khi trang được thay đổi kích thước . Điều này gây ra một translatebiến đổi được áp dụng cho <g>phần tử lớp . Có vẻ như việc sơ tán trẻ em sang một lớp khác là giải pháp tốt nhất vào lúc này.


2
Để thay đổi kích thước trang mà không tạo các translatebiến đổi gây phiền nhiễu trên mỗi lớp, hãy thử mở .svgtệp trong trình soạn thảo văn bản và thao tác các thuộc tính chiều cao và chiều rộng xuất hiện ở trên cùng.
f / 2Ink

7

Inkscape có tùy chọn xóa dữ liệu chuyển đổi nhưng vẫn không để lại giá trị của đối tượng.

Trong Inkscape, chọn đối tượng và menu 'Đường dẫn', 'Đơn giản hóa'. Bây giờ, bạn sẽ có các biến đổi loại bỏ.


16
Tuy nhiên, nó sẽ thay đổi đường viền của đường dẫn của bạn và giảm số lượng đỉnh trong các hình dạng phức tạp.
Charlie

1
Điều này thường làm cho đánh dấu lớn hơn trước khi biến đổi.
Charlie

6

Trong trường hợp này, chỉ cần thêm bản dịch vào các giá trị m cho mỗi đứa trẻ là -10,254587 + 10,75 = -0,504587 và -308.96875 + 345.43597 = 36.46722.

Vì tất cả các thuật ngữ trong ví dụ là tương đối (nghĩa là chữ thường) đó là tất cả. Nếu bất kỳ là tuyệt đối (chữ hoa), ví dụ M hoặc C, chúng cũng sẽ phải được điều chỉnh.

Đối với quy mô, về cơ bản, bạn nhân tất cả các giá trị con theo tỷ lệ.


Tôi đã làm điều đó, nhưng trong trình soạn thảo Inkspace XML (hoặc bất kỳ trình soạn thảo nào khác), biến đổi vẫn được thêm vào. Kỳ dị.
thoát mèo

1
Theo cách nào bạn sẽ điều chỉnh C nếu bạn có 2 đường dẫn phụ, ví dụ M 8.0 12.0 C 11.3 13.1 14.9 13.55 16.0 13.0 C 2.4 9.8 2.8 10.2 8.0 12.0 C 7.6 7.8 7.6 8.1 5.0 9.0 và M 3.0 5.0 C 2.4 5.5 3.3 6.4 5.0 7.0 bạn muốn chuyển đổi thành một con đường?
Thiết lập

@Anton sử dụng nút đặt câu hỏi nếu bạn có câu hỏi không nằm trong câu trả lời hiện có. Thật khó để hỏi và trả lời trong các bình luận vì có định dạng rất hạn chế.
Robert Longson

2
@RobertLongson bạn cũng đã bao gồm nó. Tất cả những gì tôi muốn là bạn giải thích "Nếu bất kỳ là tuyệt đối (chữ hoa), ví dụ M hoặc C, chúng cũng sẽ phải được điều chỉnh."
Thiết lập

6
  1. Chọn các yếu tố trong câu hỏi
  2. Đối tượng> Unggroup (lặp lại cho đến khi mọi thứ được tách nhóm; xem trình soạn thảo XML để biết các nút lồng nhau)
  3. Đường dẫn> Đối tượng thành Đường dẫn (chuyển đổi đa giác thành đường dẫn)
  4. Đối tượng> Chuyển đổi> Bỏ chọn di chuyển tương đối> Áp dụng

Dường như không hoạt động trong Inkscape 0.91. Các <g>với transformđợt nghỉ thuộc tính cũng giống như nó là. Ngoài ra, đối tượng của tôi (giống như thể hiện trong câu hỏi ở đây) đã là một đường dẫn.
HOẶC Mapper

Bạn có thể dán một liên kết đến SVG của bạn?
Charlie

5

Để xóa thuộc tính biến đổi khỏi một thành gphần (nhóm) trong Inkscape, bạn có thể di chuyển nhóm đến vị trí cuối cùng, hủy nhóm và sau đó nhóm lại tất cả các thành phần. Bây giờ một nhóm mới đã được tạo và nếu bạn không di chuyển nó một lần nữa, nó sẽ không có thuộc tính biến đổi được gắn vào nó.


4

Nếu bất cứ ai đến đây tìm kiếm một giải pháp để thực hiện điều này trong Phác thảo 3, hãy chọn lớp và sau đó nhấp vào Lớp-> Đường dẫn-> Làm phẳng.


3

Tìm thấy rồi:

  • Đặt kích thước trang mong muốn của bạn *
  • Nếu lớp hiện tại của bạn có một biến đổi (kiểm tra với trình soạn thảo XML, thì đó là nhóm trên cùng dưới phần tử SVG), sau đó tạo một lớp mới và di chuyển tất cả các đối tượng đến nó
  • Bỏ nhóm bất kỳ nhóm nào (điều này có thể không cần thiết, YMMV)
  • Chọn tất cả các đối tượng và áp dụng biến đổi null (chẳng hạn như tỷ lệ 100% 100% hoặc mũi tên phải + mũi tên trái) trong khi chuyển đổi Cửa hàng: Tối ưu hóa trong Tùy chọn / Chuyển đổi
  • Nếu bạn phải hoàn tác bất kỳ nhóm nào, bây giờ bạn có thể tập hợp lại chúng
  • Lưu một bản sao dưới dạng SVG được tối ưu hóa và đặt độ chính xác số bạn muốn

*: Hoặc ít nhất là đặt các đối tượng mà bạn cần chúng, liên quan đến góc trên cùng bên trái của trang. Thật không may khi tọa độ SVG tham chiếu góc trên cùng bên trái, trong khi Inkscape thay đổi kích thước trang so với phía dưới bên trái!


Tôi cần thủ thuật "chuyển sang lớp khác" vì biến đổi tôi muốn đẩy xuống là trên <g> của một lớp. Hệ thống tọa độ của Inkscape khá khó chịu.
Mutant Bob

3

Tôi đã có thể thoát khỏi một matrix(...)biến đổi (do phản chiếu) bằng cách kết hợp đường dẫn với một hình chữ nhật và sau đó loại bỏ các nút của hình chữ nhật. Phần translate(...)ở lại mặc dù.


Đây là giải pháp duy nhất những gì tôi tìm thấy quá. Kết hợp với một đường dẫn sạch mới, sau đó loại bỏ phần không cần thiết.
Márton Tamás

2

Trong trường hợp của tôi tiết kiệm như tối ưu hóa SVG đã giải quyết vấn đề. Vì vậy, trong Inkscape sử dụng:

Tệp -> Lưu dưới dạng ... -> SVG được tối ưu hóa.


Vấn đề của bạn BTW là gì? Tôi đến đây sau khi thử mọi thứ. Nhưng vấn đề vẫn còn tồn tại.
Sahu V Kumar

@VishalKumarSahu Tôi không thể nhập biểu tượng ứng dụng Android (SVG) của mình làm tài sản do transformthuộc tính không được Android Studio hỗ trợ.
Michał Stochmal

Yup và đó cũng là trường hợp tương tự trong web. Transform tạo ra vấn đề ở đầu ra nhưng khá hữu ích trong quá trình sắp xếp đối tượng như một nhóm. Tôi phải làm tính toán để giải quyết mục đích.
Sahu V Kumar

2

Điều này hoạt động nếu bạn đang sử dụng Inkscape:

  1. Chọn mọi thứ và hủy nhóm
  2. Lưu thành "Svg được tối ưu hóa (* .svg)"

Trong tất cả các trường hợp tôi đã thử, điều này đã loại bỏ bất kỳ thuộc tính biến đổi nào. Không chắc chắn nếu nó hoạt động cho SVG phức tạp hơn.


1

Tôi đã thử giải pháp được đăng ở đây, cụ thể là xóa các thẻ nhóm trong tệp SVG và mở lại nó trong Inkscape (trong trường hợp của tôi là 0.48.3.1). Than ôi, sau khi tôi dịch lại các đường dẫn bằng chế độ chọn và biến đổi (F1) và lưu nó, các thẻ nhóm lại xuất hiện! Inkscape lưu tất cả các biến đổi được áp dụng cho đường dẫn trong một thành phần nhóm xung quanh. Trừ khi bạn sử dụng công cụ chọn nút đường dẫn (F2), nhấn ctrl + a và di chuyển các nút của đường dẫn đến đúng vị trí của chúng. Sau khi tôi đã thực hiện việc này thay vào đó và lưu lại, Inkscape không thêm các thẻ nhóm, vì bản dịch này được áp dụng trực tiếp cho mô hình đường dẫn. Hi vọng điêu nay co ich.


1

Trong trường hợp của tôi, các nhóm thực sự được gây ra bởi các lớp. Xóa tất cả các lớp trong tài liệu đã xóa nhóm và biến đổi (có thể kết hợp với các đối tượng hủy nhóm và nhóm lại chúng, v.v. như trong Xóa các biến đổi trong tệp SVG (answer-35490189 từ @Charlie ở trên))


0

Vấn đề cụ thể của tôi là với các biểu tượng được xác định bên ngoài trang, do đó yêu cầu chuyển đổi phải được hiển thị trên trang.

Để di chuyển các biểu tượng đến trang mà không yêu cầu chuyển đổi, tôi đã phải trải qua các bước sau trong Inkscape:

  1. Mở cửa sổ Biểu tượng (Shift + Ctrl + Y)
  2. Xóa biểu tượng khỏi thư viện tài liệu. (Có một nút cho điều đó trong cửa sổ.)
  3. Bây giờ đồ họa hiển thị trong tài liệu, bên ngoài ranh giới trang.
  4. Ung nhóm đồ họa. (Đây là một bước quan trọng!)
  5. Di chuyển đồ họa bên trong ranh giới trang.
  6. Thêm đồ họa trở lại thư viện biểu tượng.

0

Điều này có vẻ ngẫu nhiên, nhưng không có gì khác tôi đã cố gắng làm việc, vì vậy ở đây bạn đi ngẫu nhiên người khác. Một số đường dẫn của tôi có một loại lề xung quanh chúng chỉ có thể nhìn thấy khi chọn chúng ( thí dụ). Tôi nghĩ rằng điều này đã được tạo khi tôi dán một lớp từ tệp inkscape khác và xoay nó 90 độ. Điều này làm cho một mô hình điền vào các hình có một biến đổi khác nhau (các dòng cách nhau xa hơn). Nó cũng làm cho các đối tượng sắp xếp không hoạt động như mong đợi. Sử dụng Biến đổi áp dụng được đề cập bởi @Piotr_cz đã khắc phục sự cố chuyển đổi, nhưng lề lạ vẫn còn. Tôi đã vô tình loại bỏ nó bằng cách thay đổi Blur trên Stroke thành bất kỳ giá trị nào và thay đổi nó về 0.


0

Bằng cách nào đó tôi đã không gặp may mắn với bất kỳ phương pháp tiếp cận nào. Nếu có <defs>phần trong svg và tập quán của bạn như thế này:

<g transform="matrix( *** ) "><use xlink:href="#***"/></g>

bạn có thể phải xóa tất cả các tập quán và lấy mọi thứ ra khỏi phần defs. Sau đó, bạn có thể sử dụng inkscape để đặt tất cả theo cách chính xác và sau đó áp dụng các biến đổi bằng cách sử dụng plugin được đề cập. Hy vọng nó sẽ giúp được ai đó.


0

Ive đã có vấn đề này trong nhiều năm. Giải pháp rõ ràng là có thể chơi động với các biến đổi trong trình duyệt, nếu nó không được "sửa" trong inkscape.

Một người dùng Mc tại diễn đàn Inkscape đã cho tôi giải pháp này .

Giải pháp xây dựng biến đổi hiện tại giữa một phần tử SVG và phần tử gốc SVG của nó, sau đó trả về một bộ thông tin BBox đầy đủ dựa trên tổng số các biến đổi.

Cũng có thể dễ dàng thay đổi thành phần nào mà phép tính có liên quan đến, nếu bạn muốn thực hiện trong công việc trình duyệt giữa hai phần của cùng một tệp SVG.

Cuối cùng tôi thực sự có thể có một khung nhìn SVG panning.


0

Inkscape 1.0 trên Kubfox 20.04

Mặc dù chủ đề này khá cũ, tôi muốn đăng kinh nghiệm / giải pháp của mình. Tôi đã gặp phải vấn đề này khi cố gắng tạo một mẫu cho bàn làm việc TechDrawing của FreeCAD. Các mẫu này không được chứa bất kỳ biến đổi nào.

Trong trường hợp của tôi, tôi đã phải thêm logo công ty từ tệp .svg bên ngoài (hoàn toàn được tạo bằng Inkscape). Logo đó chứa các yếu tố đồ họa cũng như văn bản. Khi sao chép logo đó vào mẫu, các biến đổi đã được tạo, khiến cho mẫu không hoạt động chính xác trong FreeCAD.

  • Đầu tiên, giải pháp này được đề xuất trên www.freecadweb.org / ... không hiệu quả với tôi. Đó là lý do tại sao tôi tìm kiếm trên mạng và tìm thấy cuộc thảo luận này.

  • Thứ hai, không có giải pháp nào được đề xuất ở trên có tác dụng với tôi, nhưng chúng đưa tôi đi đúng hướng. Câu trả lời của Charlie đã đến gần, nhưng Object> Transform> Bỏ chọn di chuyển tương đối> Áp dụng không cho thấy sự khác biệt.

Những gì làm việc cho tôi là:

  1. Như đã đề cập bởi những người khác, hủy kết nối mọi thứ.
  2. Chuyển đổi các đối tượng văn bản thành đường dẫn - đó dường như là điều cần thiết trong trường hợp của tôi!
  3. Xóa tất cả các biến đổi hiện có trong xml-Editor và quan sát điều gì xảy ra với các đối tượng liên quan. Trong trường hợp của tôi, các yếu tố tương ứng đã thay đổi vị trí của họ.
  4. Sửa các thay đổi này bằng tay nhưng không nhóm bất cứ điều gì.
  5. Lưu dưới dạng svg bình thường (bình thường = không tối ưu hóa hoặc cài đặt đặc biệt khác đã được sử dụng)

Hoạt động tốt khi tôi sử dụng mẫu đó trong FreeCAD.


Một chi tiết lạ: Mặc dù giải pháp của tôi cho thấy các yếu tố văn bản là vấn đề trong trường hợp của tôi, nhưng nó không thể dễ dàng như vậy. Trên thực tế, tài liệu cơ sở (tài liệu mà tôi đã sao chép logo) chứa rất nhiều yếu tố văn bản và tôi đã không chuyển đổi bất kỳ yếu tố nào trong số đó. Vì vậy, nó có thể là sự kết hợp của "nguồn bên ngoài" các yếu tố văn bản. Tôi chỉ đăng chi tiết này như một gợi ý cho người khác, những người có thể có vấn đề liên quan.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.