¿Cómo cortamos múltiples objetos con múltiples colores en el borde de una forma? ¡Sin recorte!

Tengo un problema similar al de esta publicación: Esta publicación ;-)
Y la diferencia es que tengo múltiples objetos (en realidad rutas) con diferentes colores. Además, quiero saber si puedo hacer esto sin recortar, porque el recorte crea un objeto que no se puede convertir en una ruta, lo que agrega muchas limitaciones. Mire [esta publicación] para obtener más información: Entonces, una vez más, ¿cómo puedo cortar los objetos que están fuera de la forma del modelo (que está coloreado en púrpura en la imagen a continuación), o decimos, cortarlos en el borde? .
Así que aquí están esos objetos con diferentes colores:

objetos con diferentes colores

Y la caja morada es el objeto modelo,

la caja modelo cuadrada morada

y quiero que esos círculos desaparezcan en el borde del cuadrado morado, ¡para poder obtener un cuadrado lleno de círculos coloridos!

Y creo un ejemplo con gimp (que crea mapas de bits) y te muestro qué es exactamente lo que quiero:

ingrese la descripción de la imagen aquí

¿Ha intentado utilizar el operador de división y eliminar las rutas no deseadas?
la división realmente no funciona :-( Parece que no hace nada. Y como dije en la pregunta, el recorte creará un objeto que es "intransitable", lo que trae muchas limitaciones.
La división funciona exactamente en dos caminos, no en un montón de caminos. Debe combinar sus círculos, dibujar su rectángulo, seleccionar rectángulo y círculos y aplicar división (o intersección ). Después de esto, puedes separar tu camino y llenar los círculos.
Pero la combinación de caminos los hace del mismo color, que no es lo que quiero... Entonces, ¿puedes resolver esto?
Como dije, necesitas llenar los círculos. Por ejemplo, puede dejar la imagen original en una capa bloqueada después de duplicarla (Ctrl-D) y mover la copia a otra capa. Después de la separación, retire el relleno, para que pueda ver los colores en la imagen original y pueda seleccionarlos con el cuentagotas y usarlos para rellenar las piezas de los círculos. Intente, por favor, no tengo tiempo en este momento para escribir una respuesta decente. O vea la sugerencia de Wrzlprmft. ¿La imagen final debería ser un SVG o PNG?
Esta pregunta puede ser un posible duplicado de este graphicdesign.stackexchange.com/questions/47180/… No hay una solución perfecta, sin embargo, si sigue el enlace en mi respuesta, se proporciona una extensión no oficial. Todo lo mejor @user56336

Respuestas (3)

Necesita el complemento Multi-Bool (descárguelo haciendo clic en la flecha a la derecha del título).

Instale el complemento como se describe en el sitio vinculado. Reinicie Inkscape.

  1. Desagrupa completamente todos los círculos.
  2. Seleccione todo (círculos y rectángulo).
  3. Haga clic en Extensions > Boolean > Multiple Division.
    (A diferencia de las funciones booleanas nativas de Inkscapes, esto no elimina el rectángulo en la parte superior. Puede eliminar el rectángulo manualmente).
  4. Seleccione las partes exteriores de los círculos y elimínelas.

multi-bool de la manera difícil

Seleccionar las partes exteriores es en realidad más trabajo de lo que uno espera. Pero hay una manera fácil de evitar esto: usa la negación del rectángulo y la diferencia múltiple.

  1. Dibuja un rectángulo sobre el lienzo completo.
  2. Coloque su rectángulo original encima de él.
  3. Seleccione ambos rectángulos.
  4. Restar ( Path > Differenceo ctrl+-).
  5. Seleccione todo (círculos y rectángulo negado).
  6. Haga clic en Extensions > Boolean > Multiple Difference.

multi-bool de la manera fácil

El enlace está roto. Esta parece ser la encarnación más reciente, aunque no estoy seguro de si las acciones en esta respuesta se transfieren literalmente.

La biblioteca multi-bool vinculada por @Socowi ha sido desaprobada por el autor y eliminada. La versión actual está en:

Parece que el repositorio para > 1.0 ya no está accesible :(

¡Sí, es accesible! Pero lamentablemente hay un error tipográfico en el enlace y faltan las dos últimas letras. El enlace correcto es

https://gitlab.com/moini_ink/inx-pathops

Lo he probado con la versión 1.0.1 y funciona como se esperaba.